Welcome to Abella 2.0.3-dev
Abella < Kind name, action, proc type.
Abella < Import "pic_core".
Importing from pic_core
Warning: Definition can be used to defeat stratification
  (higher-order argument "Tech" occurs to the left of ->)
Abella < Import "pic_bisim".
Importing from pic_bisim
Warning: Definition can be used to defeat stratification
  (higher-order argument "Tech" occurs to the left of ->)
Warning: Definition can be used to defeat stratification
  (higher-order argument "Tech" occurs to the left of ->)
Abella < Import "pic_ctx".
Importing from pic_ctx
Abella < Type a, b, c, d name.
Abella < Theorem bisim_par_null : 
forall P, bisim_up_to refl_t (par P null) P.

============================
 forall P, bisim_up_to refl_t (par P null) P

bisim_par_null < coinduction.

CH : forall P, bisim_up_to refl_t (par P null) P +
============================
 forall P, bisim_up_to refl_t (par P null) P #

bisim_par_null < intros.

Variables: P
CH : forall P, bisim_up_to refl_t (par P null) P +
============================
 bisim_up_to refl_t (par P null) P #

bisim_par_null < unfold.
Subgoal 1:

Variables: P
CH : forall P, bisim_up_to refl_t (par P null) P +
============================
 forall L P1, one (par P null) L P1 ->
   (exists Q1, one P L Q1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < intros.
Subgoal 1:

Variables: P L P1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : one (par P null) L P1
============================
 exists Q1, one P L Q1 /\
   (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < case H1.
Subgoal 1.1:

Variables: P L R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : one P L R
============================
 exists Q1, one P L Q1 /\
   (exists P2 Q2, refl_t (par R null) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.2 is:
 exists Q1, one P L Q1 /\
   (exists P2 Q2, refl_t (par P R) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par PP QQ) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness R.
Subgoal 1.1:

Variables: P L R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : one P L R
============================
 one P L R /\
   (exists P2 Q2, refl_t (par R null) P2 R Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.2 is:
 exists Q1, one P L Q1 /\
   (exists P2 Q2, refl_t (par P R) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par PP QQ) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < split.
Subgoal 1.1.1:

Variables: P L R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : one P L R
============================
 one P L R

Subgoal 1.1.2 is:
 exists P2 Q2, refl_t (par R null) P2 R Q2 /\ bisim_up_to refl_t P2 Q2 +

Subgoal 1.2 is:
 exists Q1, one P L Q1 /\
   (exists P2 Q2, refl_t (par P R) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par PP QQ) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < search.
Subgoal 1.1.2:

Variables: P L R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : one P L R
============================
 exists P2 Q2, refl_t (par R null) P2 R Q2 /\ bisim_up_to refl_t P2 Q2 +

Subgoal 1.2 is:
 exists Q1, one P L Q1 /\
   (exists P2 Q2, refl_t (par P R) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par PP QQ) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness par R null.
Subgoal 1.1.2:

Variables: P L R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : one P L R
============================
 exists Q2, refl_t (par R null) (par R null) R Q2 /\
   bisim_up_to refl_t (par R null) Q2 +

Subgoal 1.2 is:
 exists Q1, one P L Q1 /\
   (exists P2 Q2, refl_t (par P R) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par PP QQ) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness R.
Subgoal 1.1.2:

Variables: P L R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : one P L R
============================
 refl_t (par R null) (par R null) R R /\ bisim_up_to refl_t (par R null) R +

Subgoal 1.2 is:
 exists Q1, one P L Q1 /\
   (exists P2 Q2, refl_t (par P R) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par PP QQ) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < split.
Subgoal 1.1.2.1:

Variables: P L R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : one P L R
============================
 refl_t (par R null) (par R null) R R

Subgoal 1.1.2.2 is:
 bisim_up_to refl_t (par R null) R +

Subgoal 1.2 is:
 exists Q1, one P L Q1 /\
   (exists P2 Q2, refl_t (par P R) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par PP QQ) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < search.
Subgoal 1.1.2.2:

Variables: P L R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : one P L R
============================
 bisim_up_to refl_t (par R null) R +

Subgoal 1.2 is:
 exists Q1, one P L Q1 /\
   (exists P2 Q2, refl_t (par P R) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par PP QQ) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < backchain CH.
Subgoal 1.2:

Variables: P L R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : one null L R
============================
 exists Q1, one P L Q1 /\
   (exists P2 Q2, refl_t (par P R) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par PP QQ) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < case H2.
Subgoal 1.3:

Variables: P QQ PP
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : (exists X Y R, oneb P (dn X) R /\ one null (up X Y) QQ /\ PP = R Y) \/
       (exists X Y R, one P (up X Y) PP /\ oneb null (dn X) R /\ QQ = R Y)
============================
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par PP QQ) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < case H2.
Subgoal 1.3.1:

Variables: P QQ X Y R
CH : forall P, bisim_up_to refl_t (par P null) P +
H3 : oneb P (dn X) R
H4 : one null (up X Y) QQ
============================
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par (R Y) QQ) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 1.3.2 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par PP (R Y)) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < case H4.
Subgoal 1.3.2:

Variables: P PP X Y R
CH : forall P, bisim_up_to refl_t (par P null) P +
H3 : one P (up X Y) PP
H4 : oneb null (dn X) R
============================
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (par PP (R Y)) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < case H4.
Subgoal 1.4:

Variables: P QQ PP
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : (exists X, oneb P (dn X) PP /\ oneb null (up X) QQ) \/
       (exists X, oneb P (up X) PP /\ oneb null (dn X) QQ)
============================
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < case H2.
Subgoal 1.4.1:

Variables: P QQ PP X
CH : forall P, bisim_up_to refl_t (par P null) P +
H3 : oneb P (dn X) PP
H4 : oneb null (up X) QQ
============================
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 1.4.2 is:
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < case H4.
Subgoal 1.4.2:

Variables: P QQ PP X
CH : forall P, bisim_up_to refl_t (par P null) P +
H3 : oneb P (up X) PP
H4 : oneb null (dn X) QQ
============================
 exists Q1, one P tau Q1 /\
   (exists P2 Q2, refl_t (nu (y\par (PP y) (QQ y))) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < case H4.
Subgoal 2:

Variables: P
CH : forall P, bisim_up_to refl_t (par P null) P +
============================
 forall X P1, oneb (par P null) (dn X) P1 ->
   (exists Q1, oneb P (dn X) Q1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < intros.
Subgoal 2:

Variables: P X P1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb (par P null) (dn X) P1
============================
 exists Q1, oneb P (dn X) Q1 /\
   (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < case H1.
Subgoal 2.1:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (dn X) R
============================
 exists Q1, oneb P (dn X) Q1 /\
   (exists P2 Q2, forall N, refl_t (par (R N) null) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 2.2 is:
 exists Q1, oneb P (dn X) Q1 /\
   (exists P2 Q2, forall N, refl_t (par P (R N)) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness R.
Subgoal 2.1:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (dn X) R
============================
 oneb P (dn X) R /\
   (exists P2 Q2, forall N, refl_t (par (R N) null) (P2 N) (R N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 2.2 is:
 exists Q1, oneb P (dn X) Q1 /\
   (exists P2 Q2, forall N, refl_t (par P (R N)) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < split.
Subgoal 2.1.1:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (dn X) R
============================
 oneb P (dn X) R

Subgoal 2.1.2 is:
 exists P2 Q2, forall N, refl_t (par (R N) null) (P2 N) (R N) (Q2 N) /\
   bisim_up_to refl_t (P2 N) (Q2 N) +

Subgoal 2.2 is:
 exists Q1, oneb P (dn X) Q1 /\
   (exists P2 Q2, forall N, refl_t (par P (R N)) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < search.
Subgoal 2.1.2:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (dn X) R
============================
 exists P2 Q2, forall N, refl_t (par (R N) null) (P2 N) (R N) (Q2 N) /\
   bisim_up_to refl_t (P2 N) (Q2 N) +

Subgoal 2.2 is:
 exists Q1, oneb P (dn X) Q1 /\
   (exists P2 Q2, forall N, refl_t (par P (R N)) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness x\par (R x) null.
Subgoal 2.1.2:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (dn X) R
============================
 exists Q2, forall N, refl_t (par (R N) null) (par (R N) null) (R N) (Q2 N) /\
   bisim_up_to refl_t (par (R N) null) (Q2 N) +

Subgoal 2.2 is:
 exists Q1, oneb P (dn X) Q1 /\
   (exists P2 Q2, forall N, refl_t (par P (R N)) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness R.
Subgoal 2.1.2:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (dn X) R
============================
 forall N, refl_t (par (R N) null) (par (R N) null) (R N) (R N) /\
   bisim_up_to refl_t (par (R N) null) (R N) +

Subgoal 2.2 is:
 exists Q1, oneb P (dn X) Q1 /\
   (exists P2 Q2, forall N, refl_t (par P (R N)) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < intros.
Subgoal 2.1.2:

Variables: P X R N
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (dn X) R
============================
 refl_t (par (R N) null) (par (R N) null) (R N) (R N) /\
   bisim_up_to refl_t (par (R N) null) (R N) +

Subgoal 2.2 is:
 exists Q1, oneb P (dn X) Q1 /\
   (exists P2 Q2, forall N, refl_t (par P (R N)) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < split.
Subgoal 2.1.2.1:

Variables: P X R N
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (dn X) R
============================
 refl_t (par (R N) null) (par (R N) null) (R N) (R N)

Subgoal 2.1.2.2 is:
 bisim_up_to refl_t (par (R N) null) (R N) +

Subgoal 2.2 is:
 exists Q1, oneb P (dn X) Q1 /\
   (exists P2 Q2, forall N, refl_t (par P (R N)) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < search.
Subgoal 2.1.2.2:

Variables: P X R N
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (dn X) R
============================
 bisim_up_to refl_t (par (R N) null) (R N) +

Subgoal 2.2 is:
 exists Q1, oneb P (dn X) Q1 /\
   (exists P2 Q2, forall N, refl_t (par P (R N)) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < backchain CH.
Subgoal 2.2:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb null (dn X) R
============================
 exists Q1, oneb P (dn X) Q1 /\
   (exists P2 Q2, forall N, refl_t (par P (R N)) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < case H2.
Subgoal 3:

Variables: P
CH : forall P, bisim_up_to refl_t (par P null) P +
============================
 forall X P1, oneb (par P null) (up X) P1 ->
   (exists Q1, oneb P (up X) Q1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < intros.
Subgoal 3:

Variables: P X P1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb (par P null) (up X) P1
============================
 exists Q1, oneb P (up X) Q1 /\
   (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < case H1.
Subgoal 3.1:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (up X) R
============================
 exists Q1, oneb P (up X) Q1 /\
   (exists P2 Q2, nabla x, refl_t (par (R x) null) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 3.2 is:
 exists Q1, oneb P (up X) Q1 /\
   (exists P2 Q2, nabla x, refl_t (par P (R x)) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness R.
Subgoal 3.1:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (up X) R
============================
 oneb P (up X) R /\
   (exists P2 Q2, nabla x, refl_t (par (R x) null) (P2 x) (R x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 3.2 is:
 exists Q1, oneb P (up X) Q1 /\
   (exists P2 Q2, nabla x, refl_t (par P (R x)) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < split.
Subgoal 3.1.1:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (up X) R
============================
 oneb P (up X) R

Subgoal 3.1.2 is:
 exists P2 Q2, nabla x, refl_t (par (R x) null) (P2 x) (R x) (Q2 x) /\
   bisim_up_to refl_t (P2 x) (Q2 x) +

Subgoal 3.2 is:
 exists Q1, oneb P (up X) Q1 /\
   (exists P2 Q2, nabla x, refl_t (par P (R x)) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < search.
Subgoal 3.1.2:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (up X) R
============================
 exists P2 Q2, nabla x, refl_t (par (R x) null) (P2 x) (R x) (Q2 x) /\
   bisim_up_to refl_t (P2 x) (Q2 x) +

Subgoal 3.2 is:
 exists Q1, oneb P (up X) Q1 /\
   (exists P2 Q2, nabla x, refl_t (par P (R x)) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness x\par (R x) null.
Subgoal 3.1.2:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (up X) R
============================
 exists Q2, nabla x, refl_t (par (R x) null) (par (R x) null) (R x) (Q2 x) /\
   bisim_up_to refl_t (par (R x) null) (Q2 x) +

Subgoal 3.2 is:
 exists Q1, oneb P (up X) Q1 /\
   (exists P2 Q2, nabla x, refl_t (par P (R x)) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness R.
Subgoal 3.1.2:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (up X) R
============================
 nabla x, refl_t (par (R x) null) (par (R x) null) (R x) (R x) /\
   bisim_up_to refl_t (par (R x) null) (R x) +

Subgoal 3.2 is:
 exists Q1, oneb P (up X) Q1 /\
   (exists P2 Q2, nabla x, refl_t (par P (R x)) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < intros.
Subgoal 3.1.2:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (up X) R
============================
 refl_t (par (R n1) null) (par (R n1) null) (R n1) (R n1) /\
   bisim_up_to refl_t (par (R n1) null) (R n1) +

Subgoal 3.2 is:
 exists Q1, oneb P (up X) Q1 /\
   (exists P2 Q2, nabla x, refl_t (par P (R x)) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < split.
Subgoal 3.1.2.1:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (up X) R
============================
 refl_t (par (R n1) null) (par (R n1) null) (R n1) (R n1)

Subgoal 3.1.2.2 is:
 bisim_up_to refl_t (par (R n1) null) (R n1) +

Subgoal 3.2 is:
 exists Q1, oneb P (up X) Q1 /\
   (exists P2 Q2, nabla x, refl_t (par P (R x)) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < search.
Subgoal 3.1.2.2:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb P (up X) R
============================
 bisim_up_to refl_t (par (R n1) null) (R n1) +

Subgoal 3.2 is:
 exists Q1, oneb P (up X) Q1 /\
   (exists P2 Q2, nabla x, refl_t (par P (R x)) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < backchain CH.
Subgoal 3.2:

Variables: P X R
CH : forall P, bisim_up_to refl_t (par P null) P +
H2 : oneb null (up X) R
============================
 exists Q1, oneb P (up X) Q1 /\
   (exists P2 Q2, nabla x, refl_t (par P (R x)) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < case H2.
Subgoal 4:

Variables: P
CH : forall P, bisim_up_to refl_t (par P null) P +
============================
 forall L Q1, one P L Q1 ->
   (exists P1, one (par P null) L P1 /\
      (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < intros.
Subgoal 4:

Variables: P L Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : one P L Q1
============================
 exists P1, one (par P null) L P1 /\
   (exists P2 Q2, refl_t P1 P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness par Q1 null.
Subgoal 4:

Variables: P L Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : one P L Q1
============================
 one (par P null) L (par Q1 null) /\
   (exists P2 Q2, refl_t (par Q1 null) P2 Q1 Q2 /\
      bisim_up_to refl_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < split.
Subgoal 4.1:

Variables: P L Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : one P L Q1
============================
 one (par P null) L (par Q1 null)

Subgoal 4.2 is:
 exists P2 Q2, refl_t (par Q1 null) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < search.
Subgoal 4.2:

Variables: P L Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : one P L Q1
============================
 exists P2 Q2, refl_t (par Q1 null) P2 Q1 Q2 /\ bisim_up_to refl_t P2 Q2 +

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness par Q1 null.
Subgoal 4.2:

Variables: P L Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : one P L Q1
============================
 exists Q2, refl_t (par Q1 null) (par Q1 null) Q1 Q2 /\
   bisim_up_to refl_t (par Q1 null) Q2 +

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness Q1.
Subgoal 4.2:

Variables: P L Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : one P L Q1
============================
 refl_t (par Q1 null) (par Q1 null) Q1 Q1 /\
   bisim_up_to refl_t (par Q1 null) Q1 +

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < split.
Subgoal 4.2.1:

Variables: P L Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : one P L Q1
============================
 refl_t (par Q1 null) (par Q1 null) Q1 Q1

Subgoal 4.2.2 is:
 bisim_up_to refl_t (par Q1 null) Q1 +

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < search.
Subgoal 4.2.2:

Variables: P L Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : one P L Q1
============================
 bisim_up_to refl_t (par Q1 null) Q1 +

Subgoal 5 is:
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < backchain CH.
Subgoal 5:

Variables: P
CH : forall P, bisim_up_to refl_t (par P null) P +
============================
 forall X Q1, oneb P (dn X) Q1 ->
   (exists P1, oneb (par P null) (dn X) P1 /\
      (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to refl_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < intros.
Subgoal 5:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (dn X) Q1
============================
 exists P1, oneb (par P null) (dn X) P1 /\
   (exists P2 Q2, forall N, refl_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness x\par (Q1 x) null.
Subgoal 5:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (dn X) Q1
============================
 oneb (par P null) (dn X) (x\par (Q1 x) null) /\
   (exists P2 Q2, forall N, refl_t (par (Q1 N) null) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to refl_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < split.
Subgoal 5.1:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (dn X) Q1
============================
 oneb (par P null) (dn X) (x\par (Q1 x) null)

Subgoal 5.2 is:
 exists P2 Q2, forall N, refl_t (par (Q1 N) null) (P2 N) (Q1 N) (Q2 N) /\
   bisim_up_to refl_t (P2 N) (Q2 N) +

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < search.
Subgoal 5.2:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (dn X) Q1
============================
 exists P2 Q2, forall N, refl_t (par (Q1 N) null) (P2 N) (Q1 N) (Q2 N) /\
   bisim_up_to refl_t (P2 N) (Q2 N) +

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness x\par (Q1 x) null.
Subgoal 5.2:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (dn X) Q1
============================
 exists Q2, forall N, refl_t (par (Q1 N) null) (par (Q1 N) null) (Q1 N)
                        (Q2 N) /\
   bisim_up_to refl_t (par (Q1 N) null) (Q2 N) +

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < witness Q1.
Subgoal 5.2:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (dn X) Q1
============================
 forall N, refl_t (par (Q1 N) null) (par (Q1 N) null) (Q1 N) (Q1 N) /\
   bisim_up_to refl_t (par (Q1 N) null) (Q1 N) +

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < intros.
Subgoal 5.2:

Variables: P X Q1 N
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (dn X) Q1
============================
 refl_t (par (Q1 N) null) (par (Q1 N) null) (Q1 N) (Q1 N) /\
   bisim_up_to refl_t (par (Q1 N) null) (Q1 N) +

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < split.
Subgoal 5.2.1:

Variables: P X Q1 N
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (dn X) Q1
============================
 refl_t (par (Q1 N) null) (par (Q1 N) null) (Q1 N) (Q1 N)

Subgoal 5.2.2 is:
 bisim_up_to refl_t (par (Q1 N) null) (Q1 N) +

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < search.
Subgoal 5.2.2:

Variables: P X Q1 N
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (dn X) Q1
============================
 bisim_up_to refl_t (par (Q1 N) null) (Q1 N) +

Subgoal 6 is:
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < backchain CH.
Subgoal 6:

Variables: P
CH : forall P, bisim_up_to refl_t (par P null) P +
============================
 forall X Q1, oneb P (up X) Q1 ->
   (exists P1, oneb (par P null) (up X) P1 /\
      (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to refl_t (P2 x) (Q2 x) +))

bisim_par_null < intros.
Subgoal 6:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (up X) Q1
============================
 exists P1, oneb (par P null) (up X) P1 /\
   (exists P2 Q2, nabla x, refl_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

bisim_par_null < witness x\par (Q1 x) null.
Subgoal 6:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (up X) Q1
============================
 oneb (par P null) (up X) (x\par (Q1 x) null) /\
   (exists P2 Q2, nabla x, refl_t (par (Q1 x) null) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to refl_t (P2 x) (Q2 x) +)

bisim_par_null < split.
Subgoal 6.1:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (up X) Q1
============================
 oneb (par P null) (up X) (x\par (Q1 x) null)

Subgoal 6.2 is:
 exists P2 Q2, nabla x, refl_t (par (Q1 x) null) (P2 x) (Q1 x) (Q2 x) /\
   bisim_up_to refl_t (P2 x) (Q2 x) +

bisim_par_null < search.
Subgoal 6.2:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (up X) Q1
============================
 exists P2 Q2, nabla x, refl_t (par (Q1 x) null) (P2 x) (Q1 x) (Q2 x) /\
   bisim_up_to refl_t (P2 x) (Q2 x) +

bisim_par_null < witness x\par (Q1 x) null.
Subgoal 6.2:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (up X) Q1
============================
 exists Q2, nabla x, refl_t (par (Q1 x) null) (par (Q1 x) null) (Q1 x) (Q2 x) /\
   bisim_up_to refl_t (par (Q1 x) null) (Q2 x) +

bisim_par_null < witness Q1.
Subgoal 6.2:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (up X) Q1
============================
 nabla x, refl_t (par (Q1 x) null) (par (Q1 x) null) (Q1 x) (Q1 x) /\
   bisim_up_to refl_t (par (Q1 x) null) (Q1 x) +

bisim_par_null < intros.
Subgoal 6.2:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (up X) Q1
============================
 refl_t (par (Q1 n1) null) (par (Q1 n1) null) (Q1 n1) (Q1 n1) /\
   bisim_up_to refl_t (par (Q1 n1) null) (Q1 n1) +

bisim_par_null < split.
Subgoal 6.2.1:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (up X) Q1
============================
 refl_t (par (Q1 n1) null) (par (Q1 n1) null) (Q1 n1) (Q1 n1)

Subgoal 6.2.2 is:
 bisim_up_to refl_t (par (Q1 n1) null) (Q1 n1) +

bisim_par_null < search.
Subgoal 6.2.2:

Variables: P X Q1
CH : forall P, bisim_up_to refl_t (par P null) P +
H1 : oneb P (up X) Q1
============================
 bisim_up_to refl_t (par (Q1 n1) null) (Q1 n1) +

bisim_par_null < backchain CH.
Proof completed.
Abella < Theorem ex_bang_plus : 
bisim (repl (plus (inp a x\null) (inp b x\null)))
  (par (repl (inp a x\null)) (repl (inp b x\null))).

============================
 bisim (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

ex_bang_plus < Sound : apply bisim_sound.

Sound : is_sound bisim_t
============================
 bisim (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

ex_bang_plus < Sound : case Sound.

Sound : forall P Q, bisim_up_to bisim_t P Q -> bisim_up_to refl_t P Q
============================
 bisim (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

ex_bang_plus < unfold.

Sound : forall P Q, bisim_up_to bisim_t P Q -> bisim_up_to refl_t P Q
============================
 bisim_up_to refl_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

ex_bang_plus < backchain Sound.

Sound : forall P Q, bisim_up_to bisim_t P Q -> bisim_up_to refl_t P Q
============================
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

ex_bang_plus < clear Sound.

============================
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

ex_bang_plus < coinduction.

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) #

ex_bang_plus < unfold.
Subgoal 1:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 forall L P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 ->
   (exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 2 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < intros.
Subgoal 1:

Variables: L P1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H1 : one (repl (plus (inp a x\null) (inp b x\null))) L P1
============================
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 /\
   (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H1.
Subgoal 1.1:

Variables: L R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : one (plus (inp a x\null) (inp b x\null)) L R
============================
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 /\
   (exists P2 Q2, bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) R)
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.2 is:
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (par PP (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H2.
Subgoal 1.1.1:

Variables: L R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : one (inp a x\null) L R
============================
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 /\
   (exists P2 Q2, bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) R)
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.1.2 is:
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 /\
   (exists P2 Q2, bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) R)
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.2 is:
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (par PP (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 1.1.2:

Variables: L R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : one (inp b x\null) L R
============================
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 /\
   (exists P2 Q2, bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) R)
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.2 is:
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (par PP (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 1.2:

Variables: X Y R PP
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : one (plus (inp a x\null) (inp b x\null)) (up X Y) PP
H3 : oneb (plus (inp a x\null) (inp b x\null)) (dn X) R
============================
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (par PP (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H2.
Subgoal 1.2.1:

Variables: X Y R PP
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (plus (inp a x\null) (inp b x\null)) (dn X) R
H4 : one (inp a x\null) (up X Y) PP
============================
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (par PP (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.2.2 is:
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (par PP (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H4.
Subgoal 1.2.2:

Variables: X Y R PP
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (plus (inp a x\null) (inp b x\null)) (dn X) R
H4 : one (inp b x\null) (up X Y) PP
============================
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (par PP (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H4.
Subgoal 1.3:

Variables: X QQ PP
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : oneb (plus (inp a x\null) (inp b x\null)) (up X) PP
H3 : oneb (plus (inp a x\null) (inp b x\null)) (dn X) QQ
============================
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H2.
Subgoal 1.3.1:

Variables: X QQ PP
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (plus (inp a x\null) (inp b x\null)) (dn X) QQ
H4 : oneb (inp a x\null) (up X) PP
============================
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3.2 is:
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H4.
Subgoal 1.3.2:

Variables: X QQ PP
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (plus (inp a x\null) (inp b x\null)) (dn X) QQ
H4 : oneb (inp b x\null) (up X) PP
============================
 exists Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (plus (inp a x\null) (inp b x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H4.
Subgoal 2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < intros.
Subgoal 2:

Variables: X P1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H1 : oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1
============================
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H1.
Subgoal 2:

Variables: X R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : oneb (plus (inp a x\null) (inp b x\null)) (dn X) R
============================
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H2.
Subgoal 2.1:

Variables: X R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (inp a x\null) (dn X) R
============================
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 2.1:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn a) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 null)
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < witness x\par (par (repl (inp X x1\null)) null) (repl (inp b x1\null)).
Subgoal 2.1:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn a)
   (x\par (par (repl (inp a x1\null)) null) (repl (inp b x1\null))) /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 null)
                              (P2 N)
                              (par (par (repl (inp a x\null)) null)
                                 (repl (inp b x\null)))
                              (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < split.
Subgoal 2.1.1:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn a)
   (x\par (par (repl (inp a x1\null)) null) (repl (inp b x1\null)))

Subgoal 2.1.2 is:
 exists P2 Q2, forall N, bisim_t
                           (par (repl (plus (inp a x\null) (inp b x\null)))
                              null)
                           (P2 N)
                           (par (par (repl (inp a x\null)) null)
                              (repl (inp b x\null)))
                           (Q2 N) /\
   bisim_up_to bisim_t (P2 N) (Q2 N) +

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < search.
Subgoal 2.1.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 exists P2 Q2, forall N, bisim_t
                           (par (repl (plus (inp a x\null) (inp b x\null)))
                              null)
                           (P2 N)
                           (par (par (repl (inp a x\null)) null)
                              (repl (inp b x\null)))
                           (Q2 N) /\
   bisim_up_to bisim_t (P2 N) (Q2 N) +

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < witness x\repl (plus (inp X x1\null) (inp b x1\null)).
Subgoal 2.1.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 exists Q2, forall N, bisim_t
                        (par (repl (plus (inp a x\null) (inp b x\null))) null)
                        (repl (plus (inp a x\null) (inp b x\null)))
                        (par (par (repl (inp a x\null)) null)
                           (repl (inp b x\null)))
                        (Q2 N) /\
   bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null))) (Q2 N) +

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < witness x\par (repl (inp X x1\null)) (repl (inp b x1\null)).
Subgoal 2.1.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 forall N, bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
             (repl (plus (inp a x\null) (inp b x\null)))
             (par (par (repl (inp a x\null)) null) (repl (inp b x\null)))
             (par (repl (inp a x\null)) (repl (inp b x\null))) /\
   bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
     (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < intros.
Subgoal 2.1.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
   (repl (plus (inp a x\null) (inp b x\null)))
   (par (par (repl (inp a x\null)) null) (repl (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) /\
   bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
     (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < split.
Subgoal 2.1.2.1:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
   (repl (plus (inp a x\null) (inp b x\null)))
   (par (par (repl (inp a x\null)) null) (repl (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

Subgoal 2.1.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < unfold.
Subgoal 2.1.2.1.1:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to refl_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
   (repl (plus (inp a x\null) (inp b x\null)))

Subgoal 2.1.2.1.2 is:
 bisim_up_to refl_t
   (par (par (repl (inp a x\null)) null) (repl (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

Subgoal 2.1.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain bisim_par_null.
Subgoal 2.1.2.1.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to refl_t
   (par (par (repl (inp a x\null)) null) (repl (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

Subgoal 2.1.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain bisim_par_subst_1.
Subgoal 2.1.2.1.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to refl_t (par (repl (inp a x\null)) null) (repl (inp a x\null))

Subgoal 2.1.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain bisim_par_null.
Subgoal 2.1.2.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 2.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain CH.
Subgoal 2.2:

Variables: X R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (inp b x\null) (dn X) R
============================
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 2.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn b) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 null)
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < witness x\par (repl (inp a x1\null)) (par (repl (inp X x1\null)) null).
Subgoal 2.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn b)
   (x\par (repl (inp a x1\null)) (par (repl (inp b x1\null)) null)) /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 null)
                              (P2 N)
                              (par (repl (inp a x\null))
                                 (par (repl (inp b x\null)) null))
                              (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < split.
Subgoal 2.2.1:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn b)
   (x\par (repl (inp a x1\null)) (par (repl (inp b x1\null)) null))

Subgoal 2.2.2 is:
 exists P2 Q2, forall N, bisim_t
                           (par (repl (plus (inp a x\null) (inp b x\null)))
                              null)
                           (P2 N)
                           (par (repl (inp a x\null))
                              (par (repl (inp b x\null)) null))
                           (Q2 N) /\
   bisim_up_to bisim_t (P2 N) (Q2 N) +

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < search.
Subgoal 2.2.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 exists P2 Q2, forall N, bisim_t
                           (par (repl (plus (inp a x\null) (inp b x\null)))
                              null)
                           (P2 N)
                           (par (repl (inp a x\null))
                              (par (repl (inp b x\null)) null))
                           (Q2 N) /\
   bisim_up_to bisim_t (P2 N) (Q2 N) +

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < witness x\repl (plus (inp a x1\null) (inp X x1\null)).
Subgoal 2.2.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 exists Q2, forall N, bisim_t
                        (par (repl (plus (inp a x\null) (inp b x\null))) null)
                        (repl (plus (inp a x\null) (inp b x\null)))
                        (par (repl (inp a x\null))
                           (par (repl (inp b x\null)) null))
                        (Q2 N) /\
   bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null))) (Q2 N) +

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < witness x\par (repl (inp a x1\null)) (repl (inp X x1\null)).
Subgoal 2.2.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 forall N, bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
             (repl (plus (inp a x\null) (inp b x\null)))
             (par (repl (inp a x\null)) (par (repl (inp b x\null)) null))
             (par (repl (inp a x\null)) (repl (inp b x\null))) /\
   bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
     (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < intros.
Subgoal 2.2.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
   (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (par (repl (inp b x\null)) null))
   (par (repl (inp a x\null)) (repl (inp b x\null))) /\
   bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
     (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < split.
Subgoal 2.2.2.1:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
   (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (par (repl (inp b x\null)) null))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

Subgoal 2.2.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < unfold.
Subgoal 2.2.2.1.1:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to refl_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
   (repl (plus (inp a x\null) (inp b x\null)))

Subgoal 2.2.2.1.2 is:
 bisim_up_to refl_t
   (par (repl (inp a x\null)) (par (repl (inp b x\null)) null))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

Subgoal 2.2.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain bisim_par_null.
Subgoal 2.2.2.1.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to refl_t
   (par (repl (inp a x\null)) (par (repl (inp b x\null)) null))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

Subgoal 2.2.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain bisim_par_subst_2.
Subgoal 2.2.2.1.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to refl_t (par (repl (inp b x\null)) null) (repl (inp b x\null))

Subgoal 2.2.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain bisim_par_null.
Subgoal 2.2.2.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 3 is:
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain CH.
Subgoal 3:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 forall X P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 ->
   (exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                 (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < intros.
Subgoal 3:

Variables: X P1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H1 : oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1
============================
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (up X) Q1 /\
   (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H1.
Subgoal 3:

Variables: X R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : oneb (plus (inp a x\null) (inp b x\null)) (up X) R
============================
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (up X) Q1 /\
   (exists P2 Q2, nabla x, bisim_t
                             (par (repl (plus (inp a x\null) (inp b x\null)))
                                (R x))
                             (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H2.
Subgoal 3.1:

Variables: X R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (inp a x\null) (up X) R
============================
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (up X) Q1 /\
   (exists P2 Q2, nabla x, bisim_t
                             (par (repl (plus (inp a x\null) (inp b x\null)))
                                (R x))
                             (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

Subgoal 3.2 is:
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (up X) Q1 /\
   (exists P2 Q2, nabla x, bisim_t
                             (par (repl (plus (inp a x\null) (inp b x\null)))
                                (R x))
                             (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 3.2:

Variables: X R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (inp b x\null) (up X) R
============================
 exists Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (up X) Q1 /\
   (exists P2 Q2, nabla x, bisim_t
                             (par (repl (plus (inp a x\null) (inp b x\null)))
                                (R x))
                             (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 4:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 forall L Q1, one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1 ->
   (exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < intros.
Subgoal 4:

Variables: L Q1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H1 : one (par (repl (inp a x\null)) (repl (inp b x\null))) L Q1
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
   (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H1.
Subgoal 4.1:

Variables: L R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : one (repl (inp a x\null)) L R
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par R (repl (inp b x\null))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.2 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par (repl (inp a x\null)) R) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.3 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par PP QQ) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H2.
Subgoal 4.1.1:

Variables: L R1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : one (inp a x\null) L R1
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par (par (repl (inp a x\null)) R1) (repl (inp b x\null)))
                    Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.1.2 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par (par (repl (inp a x\null)) (par PP (R1 Y)))
                       (repl (inp b x\null)))
                    Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.1.3 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par
                       (par (repl (inp a x\null)) (nu (y\par (PP y) (QQ y))))
                       (repl (inp b x\null)))
                    Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.2 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par (repl (inp a x\null)) R) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.3 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par PP QQ) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 4.1.2:

Variables: X Y R1 PP
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : one (inp a x\null) (up X Y) PP
H4 : oneb (inp a x\null) (dn X) R1
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par (par (repl (inp a x\null)) (par PP (R1 Y)))
                       (repl (inp b x\null)))
                    Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.1.3 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par
                       (par (repl (inp a x\null)) (nu (y\par (PP y) (QQ y))))
                       (repl (inp b x\null)))
                    Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.2 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par (repl (inp a x\null)) R) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.3 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par PP QQ) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 4.1.3:

Variables: X QQ PP
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (inp a x\null) (up X) PP
H4 : oneb (inp a x\null) (dn X) QQ
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par
                       (par (repl (inp a x\null)) (nu (y\par (PP y) (QQ y))))
                       (repl (inp b x\null)))
                    Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.2 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par (repl (inp a x\null)) R) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.3 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par PP QQ) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 4.2:

Variables: L R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : one (repl (inp b x\null)) L R
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par (repl (inp a x\null)) R) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.3 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par PP QQ) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H2.
Subgoal 4.2.1:

Variables: L R1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : one (inp b x\null) L R1
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) L P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par (repl (inp a x\null)) (par (repl (inp b x\null)) R1))
                    Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.2.2 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par (repl (inp a x\null))
                       (par (repl (inp b x\null)) (par PP (R1 Y))))
                    Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.2.3 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par (repl (inp a x\null))
                       (par (repl (inp b x\null)) (nu (y\par (PP y) (QQ y)))))
                    Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.3 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par PP QQ) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 4.2.2:

Variables: X Y R1 PP
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : one (inp b x\null) (up X Y) PP
H4 : oneb (inp b x\null) (dn X) R1
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par (repl (inp a x\null))
                       (par (repl (inp b x\null)) (par PP (R1 Y))))
                    Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.2.3 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par (repl (inp a x\null))
                       (par (repl (inp b x\null)) (nu (y\par (PP y) (QQ y)))))
                    Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.3 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par PP QQ) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 4.2.3:

Variables: X QQ PP
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (inp b x\null) (up X) PP
H4 : oneb (inp b x\null) (dn X) QQ
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par (repl (inp a x\null))
                       (par (repl (inp b x\null)) (nu (y\par (PP y) (QQ y)))))
                    Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.3 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par PP QQ) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 4.3:

Variables: QQ PP
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : (exists X Y R, oneb (repl (inp a x\null)) (dn X) R /\
        one (repl (inp b x\null)) (up X Y) QQ /\ PP = R Y) \/
       (exists X Y R, one (repl (inp a x\null)) (up X Y) PP /\
          oneb (repl (inp b x\null)) (dn X) R /\ QQ = R Y)
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par PP QQ) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H2.
Subgoal 4.3.1:

Variables: QQ X Y R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (repl (inp a x\null)) (dn X) R
H4 : one (repl (inp b x\null)) (up X Y) QQ
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par (R Y) QQ) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.3.2 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par PP (R Y)) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H4.
Subgoal 4.3.1:

Variables: X Y R R1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (repl (inp a x\null)) (dn X) R
H5 : one (inp b x\null) (up X Y) R1
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par (R Y) (par (repl (inp b x\null)) R1)) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.3.2 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par PP (R Y)) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H5.
Subgoal 4.3.2:

Variables: PP X Y R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : one (repl (inp a x\null)) (up X Y) PP
H4 : oneb (repl (inp b x\null)) (dn X) R
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par PP (R Y)) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 4.3.2:

Variables: X Y R R1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H4 : oneb (repl (inp b x\null)) (dn X) R
H5 : one (inp a x\null) (up X Y) R1
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par (par (repl (inp a x\null)) R1) (R Y)) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H5.
Subgoal 4.4:

Variables: QQ PP
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : (exists X, oneb (repl (inp a x\null)) (dn X) PP /\
        oneb (repl (inp b x\null)) (up X) QQ) \/
       (exists X, oneb (repl (inp a x\null)) (up X) PP /\
          oneb (repl (inp b x\null)) (dn X) QQ)
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H2.
Subgoal 4.4.1:

Variables: QQ PP X
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (repl (inp a x\null)) (dn X) PP
H4 : oneb (repl (inp b x\null)) (up X) QQ
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4.2 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H4.
Subgoal 4.4.1:

Variables: PP X R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (repl (inp a x\null)) (dn X) PP
H5 : oneb (inp b x\null) (up X) R
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (nu (y\par (PP y) (par (repl (inp b x\null)) (R y)))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.4.2 is:
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H5.
Subgoal 4.4.2:

Variables: QQ PP X
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (repl (inp a x\null)) (up X) PP
H4 : oneb (repl (inp b x\null)) (dn X) QQ
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (nu (y\par (PP y) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 4.4.2:

Variables: QQ X R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H4 : oneb (repl (inp b x\null)) (dn X) QQ
H5 : oneb (inp a x\null) (up X) R
============================
 exists P1, one (repl (plus (inp a x\null) (inp b x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (nu (y\par (par (repl (inp a x\null)) (R y)) (QQ y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H5.
Subgoal 5:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (dn X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < intros.
Subgoal 5:

Variables: X Q1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H1 : oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (dn X) Q1
============================
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H1.
Subgoal 5.1:

Variables: X R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : oneb (repl (inp a x\null)) (dn X) R
============================
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (R N) (repl (inp b x\null))) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H2.
Subgoal 5.1:

Variables: X R1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (inp a x\null) (dn X) R1
============================
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (par (repl (inp a x\null)) (R1 N))
                                 (repl (inp b x\null)))
                              (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 5.1:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn a) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (par (repl (inp a x\null)) null)
                                 (repl (inp b x\null)))
                              (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < witness x\par (repl (plus (inp X x1\null) (inp b x1\null))) null.
Subgoal 5.1:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 oneb (repl (plus (inp a x\null) (inp b x\null))) (dn a)
   (x\par (repl (plus (inp a x1\null) (inp b x1\null))) null) /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 null)
                              (P2 N)
                              (par (par (repl (inp a x\null)) null)
                                 (repl (inp b x\null)))
                              (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < split.
Subgoal 5.1.1:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 oneb (repl (plus (inp a x\null) (inp b x\null))) (dn a)
   (x\par (repl (plus (inp a x1\null) (inp b x1\null))) null)

Subgoal 5.1.2 is:
 exists P2 Q2, forall N, bisim_t
                           (par (repl (plus (inp a x\null) (inp b x\null)))
                              null)
                           (P2 N)
                           (par (par (repl (inp a x\null)) null)
                              (repl (inp b x\null)))
                           (Q2 N) /\
   bisim_up_to bisim_t (P2 N) (Q2 N) +

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < search.
Subgoal 5.1.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 exists P2 Q2, forall N, bisim_t
                           (par (repl (plus (inp a x\null) (inp b x\null)))
                              null)
                           (P2 N)
                           (par (par (repl (inp a x\null)) null)
                              (repl (inp b x\null)))
                           (Q2 N) /\
   bisim_up_to bisim_t (P2 N) (Q2 N) +

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < witness x\repl (plus (inp X x1\null) (inp b x1\null)).
Subgoal 5.1.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 exists Q2, forall N, bisim_t
                        (par (repl (plus (inp a x\null) (inp b x\null))) null)
                        (repl (plus (inp a x\null) (inp b x\null)))
                        (par (par (repl (inp a x\null)) null)
                           (repl (inp b x\null)))
                        (Q2 N) /\
   bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null))) (Q2 N) +

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < witness x\par (repl (inp X x1\null)) (repl (inp b x1\null)).
Subgoal 5.1.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 forall N, bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
             (repl (plus (inp a x\null) (inp b x\null)))
             (par (par (repl (inp a x\null)) null) (repl (inp b x\null)))
             (par (repl (inp a x\null)) (repl (inp b x\null))) /\
   bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
     (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < intros.
Subgoal 5.1.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
   (repl (plus (inp a x\null) (inp b x\null)))
   (par (par (repl (inp a x\null)) null) (repl (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) /\
   bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
     (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < split.
Subgoal 5.1.2.1:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
   (repl (plus (inp a x\null) (inp b x\null)))
   (par (par (repl (inp a x\null)) null) (repl (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

Subgoal 5.1.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < unfold.
Subgoal 5.1.2.1.1:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to refl_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
   (repl (plus (inp a x\null) (inp b x\null)))

Subgoal 5.1.2.1.2 is:
 bisim_up_to refl_t
   (par (par (repl (inp a x\null)) null) (repl (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

Subgoal 5.1.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain bisim_par_null.
Subgoal 5.1.2.1.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to refl_t
   (par (par (repl (inp a x\null)) null) (repl (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

Subgoal 5.1.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain bisim_par_subst_1.
Subgoal 5.1.2.1.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to refl_t (par (repl (inp a x\null)) null) (repl (inp a x\null))

Subgoal 5.1.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain bisim_par_null.
Subgoal 5.1.2.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 5.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain CH.
Subgoal 5.2:

Variables: X R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : oneb (repl (inp b x\null)) (dn X) R
============================
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H2.
Subgoal 5.2:

Variables: X R1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (inp b x\null) (dn X) R1
============================
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null))
                                 (par (repl (inp b x\null)) (R1 N)))
                              (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < case H3.
Subgoal 5.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (dn b) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null))
                                 (par (repl (inp b x\null)) null))
                              (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < witness x\par (repl (plus (inp a x1\null) (inp X x1\null))) null.
Subgoal 5.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 oneb (repl (plus (inp a x\null) (inp b x\null))) (dn b)
   (x\par (repl (plus (inp a x1\null) (inp b x1\null))) null) /\
   (exists P2 Q2, forall N, bisim_t
                              (par
                                 (repl (plus (inp a x\null) (inp b x\null)))
                                 null)
                              (P2 N)
                              (par (repl (inp a x\null))
                                 (par (repl (inp b x\null)) null))
                              (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < split.
Subgoal 5.2.1:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 oneb (repl (plus (inp a x\null) (inp b x\null))) (dn b)
   (x\par (repl (plus (inp a x1\null) (inp b x1\null))) null)

Subgoal 5.2.2 is:
 exists P2 Q2, forall N, bisim_t
                           (par (repl (plus (inp a x\null) (inp b x\null)))
                              null)
                           (P2 N)
                           (par (repl (inp a x\null))
                              (par (repl (inp b x\null)) null))
                           (Q2 N) /\
   bisim_up_to bisim_t (P2 N) (Q2 N) +

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < search.
Subgoal 5.2.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 exists P2 Q2, forall N, bisim_t
                           (par (repl (plus (inp a x\null) (inp b x\null)))
                              null)
                           (P2 N)
                           (par (repl (inp a x\null))
                              (par (repl (inp b x\null)) null))
                           (Q2 N) /\
   bisim_up_to bisim_t (P2 N) (Q2 N) +

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < witness x\repl (plus (inp a x1\null) (inp X x1\null)).
Subgoal 5.2.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 exists Q2, forall N, bisim_t
                        (par (repl (plus (inp a x\null) (inp b x\null))) null)
                        (repl (plus (inp a x\null) (inp b x\null)))
                        (par (repl (inp a x\null))
                           (par (repl (inp b x\null)) null))
                        (Q2 N) /\
   bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null))) (Q2 N) +

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < witness x\par (repl (inp a x1\null)) (repl (inp X x1\null)).
Subgoal 5.2.2:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 forall N, bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
             (repl (plus (inp a x\null) (inp b x\null)))
             (par (repl (inp a x\null)) (par (repl (inp b x\null)) null))
             (par (repl (inp a x\null)) (repl (inp b x\null))) /\
   bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
     (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < intros.
Subgoal 5.2.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
   (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (par (repl (inp b x\null)) null))
   (par (repl (inp a x\null)) (repl (inp b x\null))) /\
   bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
     (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < split.
Subgoal 5.2.2.1:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
   (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (par (repl (inp b x\null)) null))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

Subgoal 5.2.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < unfold.
Subgoal 5.2.2.1.1:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to refl_t (par (repl (plus (inp a x\null) (inp b x\null))) null)
   (repl (plus (inp a x\null) (inp b x\null)))

Subgoal 5.2.2.1.2 is:
 bisim_up_to refl_t
   (par (repl (inp a x\null)) (par (repl (inp b x\null)) null))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

Subgoal 5.2.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain bisim_par_null.
Subgoal 5.2.2.1.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to refl_t
   (par (repl (inp a x\null)) (par (repl (inp b x\null)) null))
   (par (repl (inp a x\null)) (repl (inp b x\null)))

Subgoal 5.2.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain bisim_par_subst_2.
Subgoal 5.2.2.1.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to refl_t (par (repl (inp b x\null)) null) (repl (inp b x\null))

Subgoal 5.2.2.2 is:
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain bisim_par_null.
Subgoal 5.2.2.2:

Variables: N
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
   (par (repl (inp a x\null)) (repl (inp b x\null))) +

Subgoal 6 is:
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < backchain CH.
Subgoal 6:

CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
============================
 forall X Q1, oneb (par (repl (inp a x\null)) (repl (inp b x\null))) 
                (up X) Q1 ->
   (exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_plus < intros.
Subgoal 6:

Variables: X Q1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H1 : oneb (par (repl (inp a x\null)) (repl (inp b x\null))) (up X) Q1
============================
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
   (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

ex_bang_plus < case H1.
Subgoal 6.1:

Variables: X R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : oneb (repl (inp a x\null)) (up X) R
============================
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
   (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x)
                             (par (R x) (repl (inp b x\null))) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

Subgoal 6.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
   (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x)
                             (par (repl (inp a x\null)) (R x)) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

ex_bang_plus < case H2.
Subgoal 6.1:

Variables: X R1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (inp a x\null) (up X) R1
============================
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
   (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x)
                             (par (par (repl (inp a x\null)) (R1 x))
                                (repl (inp b x\null)))
                             (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

Subgoal 6.2 is:
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
   (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x)
                             (par (repl (inp a x\null)) (R x)) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

ex_bang_plus < case H3.
Subgoal 6.2:

Variables: X R
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H2 : oneb (repl (inp b x\null)) (up X) R
============================
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
   (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x)
                             (par (repl (inp a x\null)) (R x)) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

ex_bang_plus < case H2.
Subgoal 6.2:

Variables: X R1
CH : bisim_up_to bisim_t (repl (plus (inp a x\null) (inp b x\null)))
       (par (repl (inp a x\null)) (repl (inp b x\null))) +
H3 : oneb (inp b x\null) (up X) R1
============================
 exists P1, oneb (repl (plus (inp a x\null) (inp b x\null))) (up X) P1 /\
   (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x)
                             (par (repl (inp a x\null))
                                (par (repl (inp b x\null)) (R1 x)))
                             (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

ex_bang_plus < case H3.
Proof completed.
Abella < Theorem ex_bang_bang : 
(forall P, bisim_up_to refl_t (par (repl P) P) (repl P)) ->
  bisim (repl (repl (inp a x\null))) (repl (inp a x\null)).

============================
 (forall P, bisim_up_to refl_t (par (repl P) P) (repl P)) ->
   bisim (repl (repl (inp a x\null))) (repl (inp a x\null))

ex_bang_bang < intros bisim_repl_absorb.

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
============================
 bisim (repl (repl (inp a x\null))) (repl (inp a x\null))

ex_bang_bang < Sound : apply bisim_sound.

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
Sound : is_sound bisim_t
============================
 bisim (repl (repl (inp a x\null))) (repl (inp a x\null))

ex_bang_bang < Sound : case Sound.

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
Sound : forall P Q, bisim_up_to bisim_t P Q -> bisim_up_to refl_t P Q
============================
 bisim (repl (repl (inp a x\null))) (repl (inp a x\null))

ex_bang_bang < unfold.

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
Sound : forall P Q, bisim_up_to bisim_t P Q -> bisim_up_to refl_t P Q
============================
 bisim_up_to refl_t (repl (repl (inp a x\null))) (repl (inp a x\null))

ex_bang_bang < backchain Sound.

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
Sound : forall P Q, bisim_up_to bisim_t P Q -> bisim_up_to refl_t P Q
============================
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null))

ex_bang_bang < clear Sound.

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
============================
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null))

ex_bang_bang < coinduction.

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) #

ex_bang_bang < unfold.
Subgoal 1:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 forall L P1, one (repl (repl (inp a x\null))) L P1 ->
   (exists Q1, one (repl (inp a x\null)) L Q1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 2 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (dn X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < intros.
Subgoal 1:

Variables: L P1
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H1 : one (repl (repl (inp a x\null))) L P1
============================
 exists Q1, one (repl (inp a x\null)) L Q1 /\
   (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (dn X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H1.
Subgoal 1.1:

Variables: L R
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H2 : one (repl (inp a x\null)) L R
============================
 exists Q1, one (repl (inp a x\null)) L Q1 /\
   (exists P2 Q2, bisim_t (par (repl (repl (inp a x\null))) R) P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.2 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t (par (repl (repl (inp a x\null))) (par PP (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (dn X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H2.
Subgoal 1.1.1:

Variables: L R1
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H3 : one (inp a x\null) L R1
============================
 exists Q1, one (repl (inp a x\null)) L Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (par (repl (inp a x\null)) R1))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.1.2 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (par (repl (inp a x\null)) (par PP (R1 Y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.1.3 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (par (repl (inp a x\null)) (nu (y\par (PP y) (QQ y)))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.2 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t (par (repl (repl (inp a x\null))) (par PP (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (dn X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H3.
Subgoal 1.1.2:

Variables: X Y R1 PP
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H3 : one (inp a x\null) (up X Y) PP
H4 : oneb (inp a x\null) (dn X) R1
============================
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (par (repl (inp a x\null)) (par PP (R1 Y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.1.3 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (par (repl (inp a x\null)) (nu (y\par (PP y) (QQ y)))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.2 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t (par (repl (repl (inp a x\null))) (par PP (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (dn X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H3.
Subgoal 1.1.3:

Variables: X QQ PP
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H3 : oneb (inp a x\null) (up X) PP
H4 : oneb (inp a x\null) (dn X) QQ
============================
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (par (repl (inp a x\null)) (nu (y\par (PP y) (QQ y)))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.2 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t (par (repl (repl (inp a x\null))) (par PP (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (dn X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H3.
Subgoal 1.2:

Variables: X Y R PP
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H2 : one (repl (inp a x\null)) (up X Y) PP
H3 : oneb (repl (inp a x\null)) (dn X) R
============================
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t (par (repl (repl (inp a x\null))) (par PP (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (dn X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H2.
Subgoal 1.2:

Variables: X Y R R1
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H3 : oneb (repl (inp a x\null)) (dn X) R
H4 : one (inp a x\null) (up X Y) R1
============================
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (par (par (repl (inp a x\null)) R1) (R Y)))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (dn X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H3.
Subgoal 1.2:

Variables: X Y R1 R2
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H4 : one (inp a x\null) (up X Y) R1
H5 : oneb (inp a x\null) (dn X) R2
============================
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (par (par (repl (inp a x\null)) R1)
                          (par (repl (inp a x\null)) (R2 Y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 1.3 is:
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (dn X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H4.
Subgoal 1.3:

Variables: X QQ PP
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H2 : oneb (repl (inp a x\null)) (up X) PP
H3 : oneb (repl (inp a x\null)) (dn X) QQ
============================
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (nu (y\par (PP y) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (dn X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H2.
Subgoal 1.3:

Variables: X QQ R
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H3 : oneb (repl (inp a x\null)) (dn X) QQ
H4 : oneb (inp a x\null) (up X) R
============================
 exists Q1, one (repl (inp a x\null)) tau Q1 /\
   (exists P2 Q2, bisim_t
                    (par (repl (repl (inp a x\null)))
                       (nu (y\par (par (repl (inp a x\null)) (R y)) (QQ y))))
                    P2 Q1 Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 2 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (dn X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H4.
Subgoal 2:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 forall X P1, oneb (repl (repl (inp a x\null))) (dn X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < intros.
Subgoal 2:

Variables: X P1
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H1 : oneb (repl (repl (inp a x\null))) (dn X) P1
============================
 exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H1.
Subgoal 2:

Variables: X R
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H2 : oneb (repl (inp a x\null)) (dn X) R
============================
 exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t (par (repl (repl (inp a x\null))) (R N))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H2.
Subgoal 2:

Variables: X R1
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H3 : oneb (inp a x\null) (dn X) R1
============================
 exists Q1, oneb (repl (inp a x\null)) (dn X) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par (repl (repl (inp a x\null)))
                                 (par (repl (inp a x\null)) (R1 N)))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H3.
Subgoal 2:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 exists Q1, oneb (repl (inp a x\null)) (dn a) Q1 /\
   (exists P2 Q2, forall N, bisim_t
                              (par (repl (repl (inp a x\null)))
                                 (par (repl (inp a x\null)) null))
                              (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < witness x\par (repl (inp X x1\null)) null.
Subgoal 2:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 oneb (repl (inp a x\null)) (dn a) (x\par (repl (inp a x1\null)) null) /\
   (exists P2 Q2, forall N, bisim_t
                              (par (repl (repl (inp a x\null)))
                                 (par (repl (inp a x\null)) null))
                              (P2 N) (par (repl (inp a x\null)) null) 
                              (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < split.
Subgoal 2.1:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 oneb (repl (inp a x\null)) (dn a) (x\par (repl (inp a x1\null)) null)

Subgoal 2.2 is:
 exists P2 Q2, forall N, bisim_t
                           (par (repl (repl (inp a x\null)))
                              (par (repl (inp a x\null)) null))
                           (P2 N) (par (repl (inp a x\null)) null) (Q2 N) /\
   bisim_up_to bisim_t (P2 N) (Q2 N) +

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < search.
Subgoal 2.2:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 exists P2 Q2, forall N, bisim_t
                           (par (repl (repl (inp a x\null)))
                              (par (repl (inp a x\null)) null))
                           (P2 N) (par (repl (inp a x\null)) null) (Q2 N) /\
   bisim_up_to bisim_t (P2 N) (Q2 N) +

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < witness x\repl (repl (inp X x1\null)).
Subgoal 2.2:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 exists Q2, forall N, bisim_t
                        (par (repl (repl (inp a x\null)))
                           (par (repl (inp a x\null)) null))
                        (repl (repl (inp a x\null)))
                        (par (repl (inp a x\null)) null) (Q2 N) /\
   bisim_up_to bisim_t (repl (repl (inp a x\null))) (Q2 N) +

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < witness x\repl (inp X x1\null).
Subgoal 2.2:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 forall N, bisim_t
             (par (repl (repl (inp a x\null)))
                (par (repl (inp a x\null)) null))
             (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null)
             (repl (inp a x\null)) /\
   bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < intros.
Subgoal 2.2:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 bisim_t (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
   (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null)
   (repl (inp a x\null)) /\
   bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < split.
Subgoal 2.2.1:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 bisim_t (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
   (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null)
   (repl (inp a x\null))

Subgoal 2.2.2 is:
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < unfold.
Subgoal 2.2.1.1:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 bisim_up_to refl_t
   (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
   (repl (repl (inp a x\null)))

Subgoal 2.2.1.2 is:
 bisim_up_to refl_t (par (repl (inp a x\null)) null) (repl (inp a x\null))

Subgoal 2.2.2 is:
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < apply bisim_par_null with P = repl (inp X x\null).
Subgoal 2.2.1.1:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H4 : bisim_up_to refl_t (par (repl (inp a x\null)) null)
       (repl (inp a x\null))
============================
 bisim_up_to refl_t
   (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
   (repl (repl (inp a x\null)))

Subgoal 2.2.1.2 is:
 bisim_up_to refl_t (par (repl (inp a x\null)) null) (repl (inp a x\null))

Subgoal 2.2.2 is:
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < apply bisim_par_subst_2 to H4 with R = repl (repl (inp X x\null)).
Subgoal 2.2.1.1:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H4 : bisim_up_to refl_t (par (repl (inp a x\null)) null)
       (repl (inp a x\null))
H5 : bisim_up_to refl_t
       (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
       (par (repl (repl (inp a x\null))) (repl (inp a x\null)))
============================
 bisim_up_to refl_t
   (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
   (repl (repl (inp a x\null)))

Subgoal 2.2.1.2 is:
 bisim_up_to refl_t (par (repl (inp a x\null)) null) (repl (inp a x\null))

Subgoal 2.2.2 is:
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < apply bisim_repl_absorb with P = repl (inp X x\null).
Subgoal 2.2.1.1:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H4 : bisim_up_to refl_t (par (repl (inp a x\null)) null)
       (repl (inp a x\null))
H5 : bisim_up_to refl_t
       (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
       (par (repl (repl (inp a x\null))) (repl (inp a x\null)))
H6 : bisim_up_to refl_t
       (par (repl (repl (inp a x\null))) (repl (inp a x\null)))
       (repl (repl (inp a x\null)))
============================
 bisim_up_to refl_t
   (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
   (repl (repl (inp a x\null)))

Subgoal 2.2.1.2 is:
 bisim_up_to refl_t (par (repl (inp a x\null)) null) (repl (inp a x\null))

Subgoal 2.2.2 is:
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < backchain bisim_transitive.
Subgoal 2.2.1.2:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 bisim_up_to refl_t (par (repl (inp a x\null)) null) (repl (inp a x\null))

Subgoal 2.2.2 is:
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < backchain bisim_par_null.
Subgoal 2.2.2:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 3 is:
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < backchain CH.
Subgoal 3:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 forall X P1, oneb (repl (repl (inp a x\null))) (up X) P1 ->
   (exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < intros.
Subgoal 3:

Variables: X P1
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H1 : oneb (repl (repl (inp a x\null))) (up X) P1
============================
 exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
   (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H1.
Subgoal 3:

Variables: X R
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H2 : oneb (repl (inp a x\null)) (up X) R
============================
 exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
   (exists P2 Q2, nabla x, bisim_t (par (repl (repl (inp a x\null))) (R x))
                             (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H2.
Subgoal 3:

Variables: X R1
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H3 : oneb (inp a x\null) (up X) R1
============================
 exists Q1, oneb (repl (inp a x\null)) (up X) Q1 /\
   (exists P2 Q2, nabla x, bisim_t
                             (par (repl (repl (inp a x\null)))
                                (par (repl (inp a x\null)) (R1 x)))
                             (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

Subgoal 4 is:
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H3.
Subgoal 4:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 forall L Q1, one (repl (inp a x\null)) L Q1 ->
   (exists P1, one (repl (repl (inp a x\null))) L P1 /\
      (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +))

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < intros.
Subgoal 4:

Variables: L Q1
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H1 : one (repl (inp a x\null)) L Q1
============================
 exists P1, one (repl (repl (inp a x\null))) L P1 /\
   (exists P2 Q2, bisim_t P1 P2 Q1 Q2 /\ bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H1.
Subgoal 4.1:

Variables: L R
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H2 : one (inp a x\null) L R
============================
 exists P1, one (repl (repl (inp a x\null))) L P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par (repl (inp a x\null)) R) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.2 is:
 exists P1, one (repl (repl (inp a x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par (repl (inp a x\null)) (par PP (R Y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.3 is:
 exists P1, one (repl (repl (inp a x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par (repl (inp a x\null)) (nu (y\par (PP y) (QQ y)))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H2.
Subgoal 4.2:

Variables: X Y R PP
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H2 : one (inp a x\null) (up X Y) PP
H3 : oneb (inp a x\null) (dn X) R
============================
 exists P1, one (repl (repl (inp a x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2 (par (repl (inp a x\null)) (par PP (R Y))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 4.3 is:
 exists P1, one (repl (repl (inp a x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par (repl (inp a x\null)) (nu (y\par (PP y) (QQ y)))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H2.
Subgoal 4.3:

Variables: X QQ PP
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H2 : oneb (inp a x\null) (up X) PP
H3 : oneb (inp a x\null) (dn X) QQ
============================
 exists P1, one (repl (repl (inp a x\null))) tau P1 /\
   (exists P2 Q2, bisim_t P1 P2
                    (par (repl (inp a x\null)) (nu (y\par (PP y) (QQ y)))) Q2 /\
      bisim_up_to bisim_t P2 Q2 +)

Subgoal 5 is:
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H2.
Subgoal 5:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 forall X Q1, oneb (repl (inp a x\null)) (dn X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
      (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
         bisim_up_to bisim_t (P2 N) (Q2 N) +))

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < intros.
Subgoal 5:

Variables: X Q1
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H1 : oneb (repl (inp a x\null)) (dn X) Q1
============================
 exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N) (Q1 N) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H1.
Subgoal 5:

Variables: X R
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H2 : oneb (inp a x\null) (dn X) R
============================
 exists P1, oneb (repl (repl (inp a x\null))) (dn X) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) (R N)) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < case H2.
Subgoal 5:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 exists P1, oneb (repl (repl (inp a x\null))) (dn a) P1 /\
   (exists P2 Q2, forall N, bisim_t (P1 N) (P2 N)
                              (par (repl (inp a x\null)) null) (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < witness x\par (repl (repl (inp X x1\null))) (par (repl (inp X x1\null)) null).
Subgoal 5:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 oneb (repl (repl (inp a x\null))) (dn a)
   (x\par (repl (repl (inp a x1\null))) (par (repl (inp a x1\null)) null)) /\
   (exists P2 Q2, forall N, bisim_t
                              (par (repl (repl (inp a x\null)))
                                 (par (repl (inp a x\null)) null))
                              (P2 N) (par (repl (inp a x\null)) null) 
                              (Q2 N) /\
      bisim_up_to bisim_t (P2 N) (Q2 N) +)

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < split.
Subgoal 5.1:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 oneb (repl (repl (inp a x\null))) (dn a)
   (x\par (repl (repl (inp a x1\null))) (par (repl (inp a x1\null)) null))

Subgoal 5.2 is:
 exists P2 Q2, forall N, bisim_t
                           (par (repl (repl (inp a x\null)))
                              (par (repl (inp a x\null)) null))
                           (P2 N) (par (repl (inp a x\null)) null) (Q2 N) /\
   bisim_up_to bisim_t (P2 N) (Q2 N) +

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < search.
Subgoal 5.2:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 exists P2 Q2, forall N, bisim_t
                           (par (repl (repl (inp a x\null)))
                              (par (repl (inp a x\null)) null))
                           (P2 N) (par (repl (inp a x\null)) null) (Q2 N) /\
   bisim_up_to bisim_t (P2 N) (Q2 N) +

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < witness x\repl (repl (inp X x1\null)).
Subgoal 5.2:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 exists Q2, forall N, bisim_t
                        (par (repl (repl (inp a x\null)))
                           (par (repl (inp a x\null)) null))
                        (repl (repl (inp a x\null)))
                        (par (repl (inp a x\null)) null) (Q2 N) /\
   bisim_up_to bisim_t (repl (repl (inp a x\null))) (Q2 N) +

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < witness x\repl (inp X x1\null).
Subgoal 5.2:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 forall N, bisim_t
             (par (repl (repl (inp a x\null)))
                (par (repl (inp a x\null)) null))
             (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null)
             (repl (inp a x\null)) /\
   bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < intros.
Subgoal 5.2:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 bisim_t (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
   (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null)
   (repl (inp a x\null)) /\
   bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < split.
Subgoal 5.2.1:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 bisim_t (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
   (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null)
   (repl (inp a x\null))

Subgoal 5.2.2 is:
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < unfold.
Subgoal 5.2.1.1:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 bisim_up_to refl_t
   (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
   (repl (repl (inp a x\null)))

Subgoal 5.2.1.2 is:
 bisim_up_to refl_t (par (repl (inp a x\null)) null) (repl (inp a x\null))

Subgoal 5.2.2 is:
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < apply bisim_par_null with P = repl (inp X x\null).
Subgoal 5.2.1.1:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H3 : bisim_up_to refl_t (par (repl (inp a x\null)) null)
       (repl (inp a x\null))
============================
 bisim_up_to refl_t
   (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
   (repl (repl (inp a x\null)))

Subgoal 5.2.1.2 is:
 bisim_up_to refl_t (par (repl (inp a x\null)) null) (repl (inp a x\null))

Subgoal 5.2.2 is:
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < apply bisim_par_subst_2 to H3 with R = repl (repl (inp X x\null)).
Subgoal 5.2.1.1:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H3 : bisim_up_to refl_t (par (repl (inp a x\null)) null)
       (repl (inp a x\null))
H4 : bisim_up_to refl_t
       (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
       (par (repl (repl (inp a x\null))) (repl (inp a x\null)))
============================
 bisim_up_to refl_t
   (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
   (repl (repl (inp a x\null)))

Subgoal 5.2.1.2 is:
 bisim_up_to refl_t (par (repl (inp a x\null)) null) (repl (inp a x\null))

Subgoal 5.2.2 is:
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < apply bisim_repl_absorb with P = repl (inp X x\null).
Subgoal 5.2.1.1:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H3 : bisim_up_to refl_t (par (repl (inp a x\null)) null)
       (repl (inp a x\null))
H4 : bisim_up_to refl_t
       (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
       (par (repl (repl (inp a x\null))) (repl (inp a x\null)))
H5 : bisim_up_to refl_t
       (par (repl (repl (inp a x\null))) (repl (inp a x\null)))
       (repl (repl (inp a x\null)))
============================
 bisim_up_to refl_t
   (par (repl (repl (inp a x\null))) (par (repl (inp a x\null)) null))
   (repl (repl (inp a x\null)))

Subgoal 5.2.1.2 is:
 bisim_up_to refl_t (par (repl (inp a x\null)) null) (repl (inp a x\null))

Subgoal 5.2.2 is:
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < backchain bisim_transitive.
Subgoal 5.2.1.2:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 bisim_up_to refl_t (par (repl (inp a x\null)) null) (repl (inp a x\null))

Subgoal 5.2.2 is:
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < backchain bisim_par_null.
Subgoal 5.2.2:

Variables: N
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +

Subgoal 6 is:
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < backchain CH.
Subgoal 6:

bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
============================
 forall X Q1, oneb (repl (inp a x\null)) (up X) Q1 ->
   (exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
      (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
         bisim_up_to bisim_t (P2 x) (Q2 x) +))

ex_bang_bang < intros.
Subgoal 6:

Variables: X Q1
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H1 : oneb (repl (inp a x\null)) (up X) Q1
============================
 exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
   (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x) (Q1 x) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

ex_bang_bang < case H1.
Subgoal 6:

Variables: X R
bisim_repl_absorb : forall P, bisim_up_to refl_t (par (repl P) P) (repl P)
CH : bisim_up_to bisim_t (repl (repl (inp a x\null))) (repl (inp a x\null)) +
H2 : oneb (inp a x\null) (up X) R
============================
 exists P1, oneb (repl (repl (inp a x\null))) (up X) P1 /\
   (exists P2 Q2, nabla x, bisim_t (P1 x) (P2 x)
                             (par (repl (inp a x\null)) (R x)) (Q2 x) /\
      bisim_up_to bisim_t (P2 x) (Q2 x) +)

ex_bang_bang < case H2.
Proof completed.
Abella < Goodbye.