Reasoning

[View ccs_bisim_examples_helper.thm]

Click on a command or tactic to see a detailed view of its use.

Kind name,action,proc type.

Import "ccs_core". [View ccs_core]
Import "ccs_ctx". [View ccs_ctx]

%%% Define some actions
Type a,b,c,d name.

Theorem bisim_par_null : forall P, bisim_up_to refl_t (par P null) P.

Theorem bisim_par_comm : forall P Q, bisim_up_to refl_t (par P Q) (par Q P).

Theorem bisim_par_assoc : forall P Q R,
  bisim_up_to refl_t (par (par P Q) R) (par P (par Q R)).
coinduction. intros. unfold. intros. case H1. case H2. witness par P4 (par Q R). split. search. witness par (par P4 Q) R. witness par P4 (par Q R). split. search. backchain CH. witness par P (par Q2 R). split. search. witness par (par P Q2) R. witness par P (par Q2 R). split. search. backchain CH. witness par P4 (par Q2 R). split. search. witness par (par P4 Q2) R. witness par P4 (par Q2 R). split. search. backchain CH. witness par P4 (par Q2 R). split. search. witness par (par P4 Q2) R. witness par P4 (par Q2 R). split. search. backchain CH. witness par P (par Q Q2). split. search. witness par (par P Q) Q2. witness par P (par Q Q2). split. search. backchain CH. case H2. witness par P4 (par Q Q2). split. search. witness par (par P4 Q) Q2. witness par P4 (par Q Q2). split. search. backchain CH. witness par P (par Q3 Q2). split. search. witness par (par P Q3) Q2. witness par P (par Q3 Q2). split. search. backchain CH. case H2. witness par P4 (par Q Q2). split. search. witness par (par P4 Q) Q2. witness par P4 (par Q Q2). split. search. backchain CH. witness par P (par Q3 Q2). split. search. witness par (par P Q3) Q2. witness par P (par Q3 Q2). split. search. backchain CH. intros. case H1. witness par (par P2 Q) R. split. search. witness par (par P2 Q) R. witness par P2 (par Q R). split. search. backchain CH. case H2. witness par (par P P2) R. split. search. witness par (par P P2) R. witness par P (par P2 R). split. search. backchain CH. witness par (par P Q) Q4. split. search. witness par (par P Q) Q4. witness par P (par Q Q4). split. search. backchain CH. witness par (par P P2) Q4. split. search. witness par (par P P2) Q4. witness par P (par P2 Q4). split. search. backchain CH. witness par (par P P2) Q4. split. search. witness par (par P P2) Q4. witness par P (par P2 Q4). split. search. backchain CH. case H3. witness par (par P2 P3) R. split. search. witness par (par P2 P3) R. witness par P2 (par P3 R). split. search. backchain CH. witness par (par P2 Q) Q4. split. search. witness par (par P2 Q) Q4. witness par P2 (par Q Q4). split. search. backchain CH. case H3. witness par (par P2 P3) R. split. search. witness par (par P2 P3) R. witness par P2 (par P3 R). split. search. backchain CH. witness par (par P2 Q) Q4. split. search. witness par (par P2 Q) Q4. witness par P2 (par Q Q4). split. search. backchain CH.
Theorem bisim_par_assoc_left : forall P Q R, bisim_up_to refl_t (par (par P Q) R) (par (par P R) Q).