TSTP Solution File: ALG054+1 by Zenon---0.7.1

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Zenon---0.7.1
% Problem  : ALG054+1 : TPTP v8.1.0. Released v2.7.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_zenon %s %d

% Computer : n021.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 600s
% DateTime : Thu Jul 14 18:29:06 EDT 2022

% Result   : Theorem 19.57s 19.77s
% Output   : Proof 19.57s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.04/0.13  % Problem  : ALG054+1 : TPTP v8.1.0. Released v2.7.0.
% 0.04/0.13  % Command  : run_zenon %s %d
% 0.13/0.35  % Computer : n021.cluster.edu
% 0.13/0.35  % Model    : x86_64 x86_64
% 0.13/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.35  % Memory   : 8042.1875MB
% 0.13/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.35  % CPULimit : 300
% 0.13/0.35  % WCLimit  : 600
% 0.13/0.35  % DateTime : Thu Jun  9 03:03:52 EDT 2022
% 0.13/0.35  % CPUTime  : 
% 19.57/19.77  (* PROOF-FOUND *)
% 19.57/19.77  % SZS status Theorem
% 19.57/19.77  (* BEGIN-PROOF *)
% 19.57/19.77  % SZS output start Proof
% 19.57/19.77  Theorem co1 : (~((((op (e0) (e0)) = (e0))\/(((op (e1) (e1)) = (e0))\/(((op (e2) (e2)) = (e0))\/(((op (e3) (e3)) = (e0))\/((op (e4) (e4)) = (e0))))))/\((((op (e0) (e0)) = (e1))\/(((op (e1) (e1)) = (e1))\/(((op (e2) (e2)) = (e1))\/(((op (e3) (e3)) = (e1))\/((op (e4) (e4)) = (e1))))))/\((((op (e0) (e0)) = (e2))\/(((op (e1) (e1)) = (e2))\/(((op (e2) (e2)) = (e2))\/(((op (e3) (e3)) = (e2))\/((op (e4) (e4)) = (e2))))))/\((((op (e0) (e0)) = (e3))\/(((op (e1) (e1)) = (e3))\/(((op (e2) (e2)) = (e3))\/(((op (e3) (e3)) = (e3))\/((op (e4) (e4)) = (e3))))))/\((((op (e0) (e0)) = (e4))\/(((op (e1) (e1)) = (e4))\/(((op (e2) (e2)) = (e4))\/(((op (e3) (e3)) = (e4))\/((op (e4) (e4)) = (e4))))))/\(((~((op (e0) (e0)) = (e0)))\/((op (e0) (e0)) = (e0)))/\(((~((op (e0) (e0)) = (e1)))\/((op (e0) (e1)) = (e0)))/\(((~((op (e0) (e0)) = (e2)))\/((op (e0) (e2)) = (e0)))/\(((~((op (e0) (e0)) = (e3)))\/((op (e0) (e3)) = (e0)))/\(((~((op (e0) (e0)) = (e4)))\/((op (e0) (e4)) = (e0)))/\(((~((op (e1) (e1)) = (e0)))\/((op (e1) (e0)) = (e1)))/\(((~((op (e1) (e1)) = (e1)))\/((op (e1) (e1)) = (e1)))/\(((~((op (e1) (e1)) = (e2)))\/((op (e1) (e2)) = (e1)))/\(((~((op (e1) (e1)) = (e3)))\/((op (e1) (e3)) = (e1)))/\(((~((op (e1) (e1)) = (e4)))\/((op (e1) (e4)) = (e1)))/\(((~((op (e2) (e2)) = (e0)))\/((op (e2) (e0)) = (e2)))/\(((~((op (e2) (e2)) = (e1)))\/((op (e2) (e1)) = (e2)))/\(((~((op (e2) (e2)) = (e2)))\/((op (e2) (e2)) = (e2)))/\(((~((op (e2) (e2)) = (e3)))\/((op (e2) (e3)) = (e2)))/\(((~((op (e2) (e2)) = (e4)))\/((op (e2) (e4)) = (e2)))/\(((~((op (e3) (e3)) = (e0)))\/((op (e3) (e0)) = (e3)))/\(((~((op (e3) (e3)) = (e1)))\/((op (e3) (e1)) = (e3)))/\(((~((op (e3) (e3)) = (e2)))\/((op (e3) (e2)) = (e3)))/\(((~((op (e3) (e3)) = (e3)))\/((op (e3) (e3)) = (e3)))/\(((~((op (e3) (e3)) = (e4)))\/((op (e3) (e4)) = (e3)))/\(((~((op (e4) (e4)) = (e0)))\/((op (e4) (e0)) = (e4)))/\(((~((op (e4) (e4)) = (e1)))\/((op (e4) (e1)) = (e4)))/\(((~((op (e4) (e4)) = (e2)))\/((op (e4) (e2)) = (e4)))/\(((~((op (e4) (e4)) = (e3)))\/((op (e4) (e3)) = (e4)))/\((~((op (e4) (e4)) = (e4)))\/((op (e4) (e4)) = (e4))))))))))))))))))))))))))))))))).
% 19.57/19.77  Proof.
% 19.57/19.77  assert (zenon_L1_ : (~((e1) = (e1))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H7.
% 19.57/19.77  apply zenon_H7. apply refl_equal.
% 19.57/19.77  (* end of lemma zenon_L1_ *)
% 19.57/19.77  assert (zenon_L2_ : (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((unit) = (e0)) -> ((op (e1) (e4)) = (e1)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H8 zenon_H9 zenon_Ha zenon_Hb.
% 19.57/19.77  cut (((op (e1) (unit)) = (e1)) = ((op (e1) (e0)) = (op (e1) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H8.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H9.
% 19.57/19.77  cut (((e1) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hc].
% 19.57/19.77  cut (((op (e1) (unit)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hd].
% 19.57/19.77  congruence.
% 19.57/19.77  elim (classic ((op (e1) (e0)) = (op (e1) (e0)))); [ zenon_intro zenon_He | zenon_intro zenon_Hf ].
% 19.57/19.77  cut (((op (e1) (e0)) = (op (e1) (e0))) = ((op (e1) (unit)) = (op (e1) (e0)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_Hd.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_He.
% 19.57/19.77  cut (((op (e1) (e0)) = (op (e1) (e0)))); [idtac | apply NNPP; zenon_intro zenon_Hf].
% 19.57/19.77  cut (((op (e1) (e0)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H10].
% 19.57/19.77  congruence.
% 19.57/19.77  cut (((e0) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H11].
% 19.57/19.77  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 19.57/19.77  congruence.
% 19.57/19.77  apply zenon_H7. apply refl_equal.
% 19.57/19.77  apply zenon_H11. apply sym_equal. exact zenon_Ha.
% 19.57/19.77  apply zenon_Hf. apply refl_equal.
% 19.57/19.77  apply zenon_Hf. apply refl_equal.
% 19.57/19.77  apply zenon_Hc. apply sym_equal. exact zenon_Hb.
% 19.57/19.77  (* end of lemma zenon_L2_ *)
% 19.57/19.77  assert (zenon_L3_ : (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (unit) (e1)) = (e1)) -> ((unit) = (e1)) -> ((op (e1) (e4)) = (e1)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H12 zenon_H13 zenon_H14 zenon_Hb.
% 19.57/19.77  cut (((op (unit) (e1)) = (e1)) = ((op (e1) (e1)) = (op (e1) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H12.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H13.
% 19.57/19.77  cut (((e1) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hc].
% 19.57/19.77  cut (((op (unit) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H15].
% 19.57/19.77  congruence.
% 19.57/19.77  elim (classic ((op (e1) (e1)) = (op (e1) (e1)))); [ zenon_intro zenon_H16 | zenon_intro zenon_H17 ].
% 19.57/19.77  cut (((op (e1) (e1)) = (op (e1) (e1))) = ((op (unit) (e1)) = (op (e1) (e1)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H15.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H16.
% 19.57/19.77  cut (((op (e1) (e1)) = (op (e1) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H17].
% 19.57/19.77  cut (((op (e1) (e1)) = (op (unit) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H18].
% 19.57/19.77  congruence.
% 19.57/19.77  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 19.57/19.77  cut (((e1) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 19.57/19.77  congruence.
% 19.57/19.77  apply zenon_H19. apply sym_equal. exact zenon_H14.
% 19.57/19.77  apply zenon_H7. apply refl_equal.
% 19.57/19.77  apply zenon_H17. apply refl_equal.
% 19.57/19.77  apply zenon_H17. apply refl_equal.
% 19.57/19.77  apply zenon_Hc. apply sym_equal. exact zenon_Hb.
% 19.57/19.77  (* end of lemma zenon_L3_ *)
% 19.57/19.77  assert (zenon_L4_ : (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((unit) = (e2)) -> ((op (e1) (e4)) = (e1)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H1a zenon_H9 zenon_H1b zenon_Hb.
% 19.57/19.77  cut (((op (e1) (unit)) = (e1)) = ((op (e1) (e2)) = (op (e1) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H1a.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H9.
% 19.57/19.77  cut (((e1) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hc].
% 19.57/19.77  cut (((op (e1) (unit)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1c].
% 19.57/19.77  congruence.
% 19.57/19.77  elim (classic ((op (e1) (e2)) = (op (e1) (e2)))); [ zenon_intro zenon_H1d | zenon_intro zenon_H1e ].
% 19.57/19.77  cut (((op (e1) (e2)) = (op (e1) (e2))) = ((op (e1) (unit)) = (op (e1) (e2)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H1c.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H1d.
% 19.57/19.77  cut (((op (e1) (e2)) = (op (e1) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H1e].
% 19.57/19.77  cut (((op (e1) (e2)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H1f].
% 19.57/19.77  congruence.
% 19.57/19.77  cut (((e2) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H20].
% 19.57/19.77  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 19.57/19.77  congruence.
% 19.57/19.77  apply zenon_H7. apply refl_equal.
% 19.57/19.77  apply zenon_H20. apply sym_equal. exact zenon_H1b.
% 19.57/19.77  apply zenon_H1e. apply refl_equal.
% 19.57/19.77  apply zenon_H1e. apply refl_equal.
% 19.57/19.77  apply zenon_Hc. apply sym_equal. exact zenon_Hb.
% 19.57/19.77  (* end of lemma zenon_L4_ *)
% 19.57/19.77  assert (zenon_L5_ : (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> ((unit) = (e3)) -> ((op (e1) (e4)) = (e1)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H21 zenon_H9 zenon_H22 zenon_Hb.
% 19.57/19.77  cut (((op (e1) (unit)) = (e1)) = ((op (e1) (e3)) = (op (e1) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H21.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H9.
% 19.57/19.77  cut (((e1) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_Hc].
% 19.57/19.77  cut (((op (e1) (unit)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H23].
% 19.57/19.77  congruence.
% 19.57/19.77  elim (classic ((op (e1) (e3)) = (op (e1) (e3)))); [ zenon_intro zenon_H24 | zenon_intro zenon_H25 ].
% 19.57/19.77  cut (((op (e1) (e3)) = (op (e1) (e3))) = ((op (e1) (unit)) = (op (e1) (e3)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H23.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H24.
% 19.57/19.77  cut (((op (e1) (e3)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H25].
% 19.57/19.77  cut (((op (e1) (e3)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H26].
% 19.57/19.77  congruence.
% 19.57/19.77  cut (((e3) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H27].
% 19.57/19.77  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 19.57/19.77  congruence.
% 19.57/19.77  apply zenon_H7. apply refl_equal.
% 19.57/19.77  apply zenon_H27. apply sym_equal. exact zenon_H22.
% 19.57/19.77  apply zenon_H25. apply refl_equal.
% 19.57/19.77  apply zenon_H25. apply refl_equal.
% 19.57/19.77  apply zenon_Hc. apply sym_equal. exact zenon_Hb.
% 19.57/19.77  (* end of lemma zenon_L5_ *)
% 19.57/19.77  assert (zenon_L6_ : (~((e0) = (e0))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H28.
% 19.57/19.77  apply zenon_H28. apply refl_equal.
% 19.57/19.77  (* end of lemma zenon_L6_ *)
% 19.57/19.77  assert (zenon_L7_ : ((op (e0) (unit)) = (e0)) -> ((unit) = (e4)) -> ((op (e0) (e3)) = (e0)) -> (~((op (e0) (e3)) = (op (e0) (e4)))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H29 zenon_H2a zenon_H2b zenon_H2c.
% 19.57/19.77  elim (classic ((op (e0) (e4)) = (op (e0) (e4)))); [ zenon_intro zenon_H2d | zenon_intro zenon_H2e ].
% 19.57/19.77  cut (((op (e0) (e4)) = (op (e0) (e4))) = ((op (e0) (e3)) = (op (e0) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H2c.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H2d.
% 19.57/19.77  cut (((op (e0) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 19.57/19.77  cut (((op (e0) (e4)) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H2f].
% 19.57/19.77  congruence.
% 19.57/19.77  cut (((op (e0) (unit)) = (e0)) = ((op (e0) (e4)) = (op (e0) (e3)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H2f.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H29.
% 19.57/19.77  cut (((e0) = (op (e0) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H30].
% 19.57/19.77  cut (((op (e0) (unit)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H31].
% 19.57/19.77  congruence.
% 19.57/19.77  elim (classic ((op (e0) (e4)) = (op (e0) (e4)))); [ zenon_intro zenon_H2d | zenon_intro zenon_H2e ].
% 19.57/19.77  cut (((op (e0) (e4)) = (op (e0) (e4))) = ((op (e0) (unit)) = (op (e0) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H31.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H2d.
% 19.57/19.77  cut (((op (e0) (e4)) = (op (e0) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H2e].
% 19.57/19.77  cut (((op (e0) (e4)) = (op (e0) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H32].
% 19.57/19.77  congruence.
% 19.57/19.77  cut (((e4) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 19.57/19.77  cut (((e0) = (e0))); [idtac | apply NNPP; zenon_intro zenon_H28].
% 19.57/19.77  congruence.
% 19.57/19.77  apply zenon_H28. apply refl_equal.
% 19.57/19.77  apply zenon_H33. apply sym_equal. exact zenon_H2a.
% 19.57/19.77  apply zenon_H2e. apply refl_equal.
% 19.57/19.77  apply zenon_H2e. apply refl_equal.
% 19.57/19.77  apply zenon_H30. apply sym_equal. exact zenon_H2b.
% 19.57/19.77  apply zenon_H2e. apply refl_equal.
% 19.57/19.77  apply zenon_H2e. apply refl_equal.
% 19.57/19.77  (* end of lemma zenon_L7_ *)
% 19.57/19.77  assert (zenon_L8_ : (~((op (e1) (e4)) = (op (e1) (unit)))) -> ((unit) = (e4)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H34 zenon_H2a.
% 19.57/19.77  cut (((e4) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 19.57/19.77  cut (((e1) = (e1))); [idtac | apply NNPP; zenon_intro zenon_H7].
% 19.57/19.77  congruence.
% 19.57/19.77  apply zenon_H7. apply refl_equal.
% 19.57/19.77  apply zenon_H33. apply sym_equal. exact zenon_H2a.
% 19.57/19.77  (* end of lemma zenon_L8_ *)
% 19.57/19.77  assert (zenon_L9_ : ((op (e1) (unit)) = (e1)) -> ((unit) = (e4)) -> ((op (e1) (e3)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H9 zenon_H2a zenon_H35 zenon_H21.
% 19.57/19.77  elim (classic ((op (e1) (e4)) = (op (e1) (e4)))); [ zenon_intro zenon_H36 | zenon_intro zenon_H37 ].
% 19.57/19.77  cut (((op (e1) (e4)) = (op (e1) (e4))) = ((op (e1) (e3)) = (op (e1) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H21.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H36.
% 19.57/19.77  cut (((op (e1) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 19.57/19.77  cut (((op (e1) (e4)) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H38].
% 19.57/19.77  congruence.
% 19.57/19.77  cut (((op (e1) (unit)) = (e1)) = ((op (e1) (e4)) = (op (e1) (e3)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H38.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H9.
% 19.57/19.77  cut (((e1) = (op (e1) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H39].
% 19.57/19.77  cut (((op (e1) (unit)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H3a].
% 19.57/19.77  congruence.
% 19.57/19.77  elim (classic ((op (e1) (e4)) = (op (e1) (e4)))); [ zenon_intro zenon_H36 | zenon_intro zenon_H37 ].
% 19.57/19.77  cut (((op (e1) (e4)) = (op (e1) (e4))) = ((op (e1) (unit)) = (op (e1) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H3a.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H36.
% 19.57/19.77  cut (((op (e1) (e4)) = (op (e1) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H37].
% 19.57/19.77  cut (((op (e1) (e4)) = (op (e1) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H34].
% 19.57/19.77  congruence.
% 19.57/19.77  apply (zenon_L8_); trivial.
% 19.57/19.77  apply zenon_H37. apply refl_equal.
% 19.57/19.77  apply zenon_H37. apply refl_equal.
% 19.57/19.77  apply zenon_H39. apply sym_equal. exact zenon_H35.
% 19.57/19.77  apply zenon_H37. apply refl_equal.
% 19.57/19.77  apply zenon_H37. apply refl_equal.
% 19.57/19.77  (* end of lemma zenon_L9_ *)
% 19.57/19.77  assert (zenon_L10_ : ((~((op (e1) (e1)) = (e4)))\/((op (e1) (e4)) = (e1))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (e3)) = (e1)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e4) = (op (e1) (e1))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H3b zenon_H8 zenon_H9 zenon_H12 zenon_H13 zenon_H1a zenon_H21 zenon_H35 zenon_H3c zenon_H3d.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H3e | zenon_intro zenon_Hb ].
% 19.57/19.77  apply zenon_H3e. apply sym_equal. exact zenon_H3d.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_Ha | zenon_intro zenon_H3f ].
% 19.57/19.77  apply (zenon_L2_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H14 | zenon_intro zenon_H40 ].
% 19.57/19.77  apply (zenon_L3_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H40); [ zenon_intro zenon_H1b | zenon_intro zenon_H41 ].
% 19.57/19.77  apply (zenon_L4_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H41); [ zenon_intro zenon_H22 | zenon_intro zenon_H2a ].
% 19.57/19.77  apply (zenon_L5_); trivial.
% 19.57/19.77  apply (zenon_L9_); trivial.
% 19.57/19.77  (* end of lemma zenon_L10_ *)
% 19.57/19.77  assert (zenon_L11_ : ((~((op (e1) (e1)) = (e3)))\/((op (e1) (e3)) = (e1))) -> ((e4) = (op (e1) (e1))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((~((op (e1) (e1)) = (e4)))\/((op (e1) (e4)) = (e1))) -> ((op (e1) (e1)) = (e3)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H42 zenon_H3d zenon_H3c zenon_H21 zenon_H1a zenon_H13 zenon_H12 zenon_H9 zenon_H8 zenon_H3b zenon_H43.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H42); [ zenon_intro zenon_H44 | zenon_intro zenon_H35 ].
% 19.57/19.77  exact (zenon_H44 zenon_H43).
% 19.57/19.77  apply (zenon_L10_); trivial.
% 19.57/19.77  (* end of lemma zenon_L11_ *)
% 19.57/19.77  assert (zenon_L12_ : (~((e2) = (e2))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H45.
% 19.57/19.77  apply zenon_H45. apply refl_equal.
% 19.57/19.77  (* end of lemma zenon_L12_ *)
% 19.57/19.77  assert (zenon_L13_ : (~((op (e2) (e4)) = (op (e2) (unit)))) -> ((unit) = (e4)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H46 zenon_H2a.
% 19.57/19.77  cut (((e4) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 19.57/19.77  cut (((e2) = (e2))); [idtac | apply NNPP; zenon_intro zenon_H45].
% 19.57/19.77  congruence.
% 19.57/19.77  apply zenon_H45. apply refl_equal.
% 19.57/19.77  apply zenon_H33. apply sym_equal. exact zenon_H2a.
% 19.57/19.77  (* end of lemma zenon_L13_ *)
% 19.57/19.77  assert (zenon_L14_ : ((op (e2) (unit)) = (e2)) -> ((unit) = (e4)) -> ((op (e2) (e3)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H47 zenon_H2a zenon_H48 zenon_H49.
% 19.57/19.77  elim (classic ((op (e2) (e4)) = (op (e2) (e4)))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 19.57/19.77  cut (((op (e2) (e4)) = (op (e2) (e4))) = ((op (e2) (e3)) = (op (e2) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H49.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H4a.
% 19.57/19.77  cut (((op (e2) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 19.57/19.77  cut (((op (e2) (e4)) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H4c].
% 19.57/19.77  congruence.
% 19.57/19.77  cut (((op (e2) (unit)) = (e2)) = ((op (e2) (e4)) = (op (e2) (e3)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H4c.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H47.
% 19.57/19.77  cut (((e2) = (op (e2) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H4d].
% 19.57/19.77  cut (((op (e2) (unit)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H4e].
% 19.57/19.77  congruence.
% 19.57/19.77  elim (classic ((op (e2) (e4)) = (op (e2) (e4)))); [ zenon_intro zenon_H4a | zenon_intro zenon_H4b ].
% 19.57/19.77  cut (((op (e2) (e4)) = (op (e2) (e4))) = ((op (e2) (unit)) = (op (e2) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H4e.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H4a.
% 19.57/19.77  cut (((op (e2) (e4)) = (op (e2) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H4b].
% 19.57/19.77  cut (((op (e2) (e4)) = (op (e2) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H46].
% 19.57/19.77  congruence.
% 19.57/19.77  apply (zenon_L13_); trivial.
% 19.57/19.77  apply zenon_H4b. apply refl_equal.
% 19.57/19.77  apply zenon_H4b. apply refl_equal.
% 19.57/19.77  apply zenon_H4d. apply sym_equal. exact zenon_H48.
% 19.57/19.77  apply zenon_H4b. apply refl_equal.
% 19.57/19.77  apply zenon_H4b. apply refl_equal.
% 19.57/19.77  (* end of lemma zenon_L14_ *)
% 19.57/19.77  assert (zenon_L15_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (e1) (e4)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e2) (unit)) = (e2)) -> ((op (e2) (e3)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H3c zenon_H8 zenon_H13 zenon_H12 zenon_H1a zenon_Hb zenon_H9 zenon_H21 zenon_H47 zenon_H48 zenon_H49.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_Ha | zenon_intro zenon_H3f ].
% 19.57/19.77  apply (zenon_L2_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H14 | zenon_intro zenon_H40 ].
% 19.57/19.77  apply (zenon_L3_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H40); [ zenon_intro zenon_H1b | zenon_intro zenon_H41 ].
% 19.57/19.77  apply (zenon_L4_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H41); [ zenon_intro zenon_H22 | zenon_intro zenon_H2a ].
% 19.57/19.77  apply (zenon_L5_); trivial.
% 19.57/19.77  apply (zenon_L14_); trivial.
% 19.57/19.77  (* end of lemma zenon_L15_ *)
% 19.57/19.77  assert (zenon_L16_ : ((~((op (e1) (e1)) = (e4)))\/((op (e1) (e4)) = (e1))) -> ((op (e2) (e2)) = (e3)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((op (e2) (unit)) = (e2)) -> (~((op (e2) (e3)) = (op (e2) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((~((op (e2) (e2)) = (e3)))\/((op (e2) (e3)) = (e2))) -> ((e4) = (op (e1) (e1))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H3b zenon_H4f zenon_H3c zenon_H47 zenon_H49 zenon_H21 zenon_H1a zenon_H13 zenon_H12 zenon_H9 zenon_H8 zenon_H50 zenon_H3d.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H3e | zenon_intro zenon_Hb ].
% 19.57/19.77  apply zenon_H3e. apply sym_equal. exact zenon_H3d.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H50); [ zenon_intro zenon_H51 | zenon_intro zenon_H48 ].
% 19.57/19.77  exact (zenon_H51 zenon_H4f).
% 19.57/19.77  apply (zenon_L15_); trivial.
% 19.57/19.77  (* end of lemma zenon_L16_ *)
% 19.57/19.77  assert (zenon_L17_ : (~((e3) = (e3))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H52.
% 19.57/19.77  apply zenon_H52. apply refl_equal.
% 19.57/19.77  (* end of lemma zenon_L17_ *)
% 19.57/19.77  assert (zenon_L18_ : (~((op (e3) (e0)) = (op (e3) (unit)))) -> ((unit) = (e0)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H53 zenon_Ha.
% 19.57/19.77  cut (((e0) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H11].
% 19.57/19.77  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 19.57/19.77  congruence.
% 19.57/19.77  apply zenon_H52. apply refl_equal.
% 19.57/19.77  apply zenon_H11. apply sym_equal. exact zenon_Ha.
% 19.57/19.77  (* end of lemma zenon_L18_ *)
% 19.57/19.77  assert (zenon_L19_ : (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> ((unit) = (e0)) -> ((op (e3) (e3)) = (e3)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H54 zenon_H55 zenon_Ha zenon_H56.
% 19.57/19.77  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e0)) = (op (e3) (e3)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H54.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H55.
% 19.57/19.77  cut (((e3) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H57].
% 19.57/19.77  cut (((op (e3) (unit)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H58].
% 19.57/19.77  congruence.
% 19.57/19.77  elim (classic ((op (e3) (e0)) = (op (e3) (e0)))); [ zenon_intro zenon_H59 | zenon_intro zenon_H5a ].
% 19.57/19.77  cut (((op (e3) (e0)) = (op (e3) (e0))) = ((op (e3) (unit)) = (op (e3) (e0)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H58.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H59.
% 19.57/19.77  cut (((op (e3) (e0)) = (op (e3) (e0)))); [idtac | apply NNPP; zenon_intro zenon_H5a].
% 19.57/19.77  cut (((op (e3) (e0)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H53].
% 19.57/19.77  congruence.
% 19.57/19.77  apply (zenon_L18_); trivial.
% 19.57/19.77  apply zenon_H5a. apply refl_equal.
% 19.57/19.77  apply zenon_H5a. apply refl_equal.
% 19.57/19.77  apply zenon_H57. apply sym_equal. exact zenon_H56.
% 19.57/19.77  (* end of lemma zenon_L19_ *)
% 19.57/19.77  assert (zenon_L20_ : (~((op (e3) (e1)) = (op (e3) (unit)))) -> ((unit) = (e1)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H5b zenon_H14.
% 19.57/19.77  cut (((e1) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H19].
% 19.57/19.77  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 19.57/19.77  congruence.
% 19.57/19.77  apply zenon_H52. apply refl_equal.
% 19.57/19.77  apply zenon_H19. apply sym_equal. exact zenon_H14.
% 19.57/19.77  (* end of lemma zenon_L20_ *)
% 19.57/19.77  assert (zenon_L21_ : (~((op (e3) (e1)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> ((unit) = (e1)) -> ((op (e3) (e3)) = (e3)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H5c zenon_H55 zenon_H14 zenon_H56.
% 19.57/19.77  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e1)) = (op (e3) (e3)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H5c.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H55.
% 19.57/19.77  cut (((e3) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H57].
% 19.57/19.77  cut (((op (e3) (unit)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5d].
% 19.57/19.77  congruence.
% 19.57/19.77  elim (classic ((op (e3) (e1)) = (op (e3) (e1)))); [ zenon_intro zenon_H5e | zenon_intro zenon_H5f ].
% 19.57/19.77  cut (((op (e3) (e1)) = (op (e3) (e1))) = ((op (e3) (unit)) = (op (e3) (e1)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H5d.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H5e.
% 19.57/19.77  cut (((op (e3) (e1)) = (op (e3) (e1)))); [idtac | apply NNPP; zenon_intro zenon_H5f].
% 19.57/19.77  cut (((op (e3) (e1)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H5b].
% 19.57/19.77  congruence.
% 19.57/19.77  apply (zenon_L20_); trivial.
% 19.57/19.77  apply zenon_H5f. apply refl_equal.
% 19.57/19.77  apply zenon_H5f. apply refl_equal.
% 19.57/19.77  apply zenon_H57. apply sym_equal. exact zenon_H56.
% 19.57/19.77  (* end of lemma zenon_L21_ *)
% 19.57/19.77  assert (zenon_L22_ : (~((op (e3) (e2)) = (op (e3) (unit)))) -> ((unit) = (e2)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H60 zenon_H1b.
% 19.57/19.77  cut (((e2) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H20].
% 19.57/19.77  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 19.57/19.77  congruence.
% 19.57/19.77  apply zenon_H52. apply refl_equal.
% 19.57/19.77  apply zenon_H20. apply sym_equal. exact zenon_H1b.
% 19.57/19.77  (* end of lemma zenon_L22_ *)
% 19.57/19.77  assert (zenon_L23_ : (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> ((unit) = (e2)) -> ((op (e3) (e3)) = (e3)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H61 zenon_H55 zenon_H1b zenon_H56.
% 19.57/19.77  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e2)) = (op (e3) (e3)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H61.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H55.
% 19.57/19.77  cut (((e3) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H57].
% 19.57/19.77  cut (((op (e3) (unit)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H62].
% 19.57/19.77  congruence.
% 19.57/19.77  elim (classic ((op (e3) (e2)) = (op (e3) (e2)))); [ zenon_intro zenon_H63 | zenon_intro zenon_H64 ].
% 19.57/19.77  cut (((op (e3) (e2)) = (op (e3) (e2))) = ((op (e3) (unit)) = (op (e3) (e2)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H62.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H63.
% 19.57/19.77  cut (((op (e3) (e2)) = (op (e3) (e2)))); [idtac | apply NNPP; zenon_intro zenon_H64].
% 19.57/19.77  cut (((op (e3) (e2)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H60].
% 19.57/19.77  congruence.
% 19.57/19.77  apply (zenon_L22_); trivial.
% 19.57/19.77  apply zenon_H64. apply refl_equal.
% 19.57/19.77  apply zenon_H64. apply refl_equal.
% 19.57/19.77  apply zenon_H57. apply sym_equal. exact zenon_H56.
% 19.57/19.77  (* end of lemma zenon_L23_ *)
% 19.57/19.77  assert (zenon_L24_ : (~((op (e3) (e4)) = (op (e3) (unit)))) -> ((unit) = (e4)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H65 zenon_H2a.
% 19.57/19.77  cut (((e4) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 19.57/19.77  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 19.57/19.77  congruence.
% 19.57/19.77  apply zenon_H52. apply refl_equal.
% 19.57/19.77  apply zenon_H33. apply sym_equal. exact zenon_H2a.
% 19.57/19.77  (* end of lemma zenon_L24_ *)
% 19.57/19.77  assert (zenon_L25_ : ((op (e3) (unit)) = (e3)) -> ((unit) = (e4)) -> ((op (e3) (e3)) = (e3)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H55 zenon_H2a zenon_H56 zenon_H66.
% 19.57/19.77  elim (classic ((op (e3) (e4)) = (op (e3) (e4)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ].
% 19.57/19.77  cut (((op (e3) (e4)) = (op (e3) (e4))) = ((op (e3) (e3)) = (op (e3) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H66.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H67.
% 19.57/19.77  cut (((op (e3) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 19.57/19.77  cut (((op (e3) (e4)) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H69].
% 19.57/19.77  congruence.
% 19.57/19.77  cut (((op (e3) (unit)) = (e3)) = ((op (e3) (e4)) = (op (e3) (e3)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H69.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H55.
% 19.57/19.77  cut (((e3) = (op (e3) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H57].
% 19.57/19.77  cut (((op (e3) (unit)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6a].
% 19.57/19.77  congruence.
% 19.57/19.77  elim (classic ((op (e3) (e4)) = (op (e3) (e4)))); [ zenon_intro zenon_H67 | zenon_intro zenon_H68 ].
% 19.57/19.77  cut (((op (e3) (e4)) = (op (e3) (e4))) = ((op (e3) (unit)) = (op (e3) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H6a.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H67.
% 19.57/19.77  cut (((op (e3) (e4)) = (op (e3) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H68].
% 19.57/19.77  cut (((op (e3) (e4)) = (op (e3) (unit)))); [idtac | apply NNPP; zenon_intro zenon_H65].
% 19.57/19.77  congruence.
% 19.57/19.77  apply (zenon_L24_); trivial.
% 19.57/19.77  apply zenon_H68. apply refl_equal.
% 19.57/19.77  apply zenon_H68. apply refl_equal.
% 19.57/19.77  apply zenon_H57. apply sym_equal. exact zenon_H56.
% 19.57/19.77  apply zenon_H68. apply refl_equal.
% 19.57/19.77  apply zenon_H68. apply refl_equal.
% 19.57/19.77  (* end of lemma zenon_L25_ *)
% 19.57/19.77  assert (zenon_L26_ : (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> ((op (e1) (e4)) = (e1)) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e3)) = (e3)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H3c zenon_H54 zenon_H5c zenon_H61 zenon_Hb zenon_H9 zenon_H21 zenon_H55 zenon_H56 zenon_H66.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_Ha | zenon_intro zenon_H3f ].
% 19.57/19.77  apply (zenon_L19_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H14 | zenon_intro zenon_H40 ].
% 19.57/19.77  apply (zenon_L21_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H40); [ zenon_intro zenon_H1b | zenon_intro zenon_H41 ].
% 19.57/19.77  apply (zenon_L23_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H41); [ zenon_intro zenon_H22 | zenon_intro zenon_H2a ].
% 19.57/19.77  apply (zenon_L5_); trivial.
% 19.57/19.77  apply (zenon_L25_); trivial.
% 19.57/19.77  (* end of lemma zenon_L26_ *)
% 19.57/19.77  assert (zenon_L27_ : ((~((op (e1) (e1)) = (e4)))\/((op (e1) (e4)) = (e1))) -> (~((op (e3) (e0)) = (op (e3) (e3)))) -> ((op (e3) (unit)) = (e3)) -> ((op (e3) (e3)) = (e3)) -> (~((op (e3) (e1)) = (op (e3) (e3)))) -> (~((op (e3) (e2)) = (op (e3) (e3)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e3) (e3)) = (op (e3) (e4)))) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e4) = (op (e1) (e1))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H3b zenon_H54 zenon_H55 zenon_H56 zenon_H5c zenon_H61 zenon_H21 zenon_H9 zenon_H66 zenon_H3c zenon_H3d.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H3e | zenon_intro zenon_Hb ].
% 19.57/19.77  apply zenon_H3e. apply sym_equal. exact zenon_H3d.
% 19.57/19.77  apply (zenon_L26_); trivial.
% 19.57/19.77  (* end of lemma zenon_L27_ *)
% 19.57/19.77  assert (zenon_L28_ : (~((op (e4) (e3)) = (op (unit) (e3)))) -> ((unit) = (e4)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H6b zenon_H2a.
% 19.57/19.77  cut (((e3) = (e3))); [idtac | apply NNPP; zenon_intro zenon_H52].
% 19.57/19.77  cut (((e4) = (unit))); [idtac | apply NNPP; zenon_intro zenon_H33].
% 19.57/19.77  congruence.
% 19.57/19.77  apply zenon_H33. apply sym_equal. exact zenon_H2a.
% 19.57/19.77  apply zenon_H52. apply refl_equal.
% 19.57/19.77  (* end of lemma zenon_L28_ *)
% 19.57/19.77  assert (zenon_L29_ : (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((unit) = (e4)) -> ((op (e4) (e4)) = (e3)) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H6c zenon_H6d zenon_H2a zenon_H6e.
% 19.57/19.77  cut (((op (unit) (e3)) = (e3)) = ((op (e4) (e3)) = (op (e4) (e4)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H6c.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H6d.
% 19.57/19.77  cut (((e3) = (op (e4) (e4)))); [idtac | apply NNPP; zenon_intro zenon_H6f].
% 19.57/19.77  cut (((op (unit) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H70].
% 19.57/19.77  congruence.
% 19.57/19.77  elim (classic ((op (e4) (e3)) = (op (e4) (e3)))); [ zenon_intro zenon_H71 | zenon_intro zenon_H72 ].
% 19.57/19.77  cut (((op (e4) (e3)) = (op (e4) (e3))) = ((op (unit) (e3)) = (op (e4) (e3)))).
% 19.57/19.77  intro zenon_D_pnotp.
% 19.57/19.77  apply zenon_H70.
% 19.57/19.77  rewrite <- zenon_D_pnotp.
% 19.57/19.77  exact zenon_H71.
% 19.57/19.77  cut (((op (e4) (e3)) = (op (e4) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H72].
% 19.57/19.77  cut (((op (e4) (e3)) = (op (unit) (e3)))); [idtac | apply NNPP; zenon_intro zenon_H6b].
% 19.57/19.77  congruence.
% 19.57/19.77  apply (zenon_L28_); trivial.
% 19.57/19.77  apply zenon_H72. apply refl_equal.
% 19.57/19.77  apply zenon_H72. apply refl_equal.
% 19.57/19.77  apply zenon_H6f. apply sym_equal. exact zenon_H6e.
% 19.57/19.77  (* end of lemma zenon_L29_ *)
% 19.57/19.77  assert (zenon_L30_ : ((~((op (e1) (e1)) = (e4)))\/((op (e1) (e4)) = (e1))) -> (~((op (e1) (e0)) = (op (e1) (e4)))) -> ((op (e1) (unit)) = (e1)) -> (~((op (e1) (e1)) = (op (e1) (e4)))) -> ((op (unit) (e1)) = (e1)) -> (~((op (e1) (e2)) = (op (e1) (e4)))) -> (~((op (e1) (e3)) = (op (e1) (e4)))) -> (~((op (e4) (e3)) = (op (e4) (e4)))) -> ((op (unit) (e3)) = (e3)) -> ((op (e4) (e4)) = (e3)) -> (((unit) = (e0))\/(((unit) = (e1))\/(((unit) = (e2))\/(((unit) = (e3))\/((unit) = (e4)))))) -> ((e4) = (op (e1) (e1))) -> False).
% 19.57/19.77  do 0 intro. intros zenon_H3b zenon_H8 zenon_H9 zenon_H12 zenon_H13 zenon_H1a zenon_H21 zenon_H6c zenon_H6d zenon_H6e zenon_H3c zenon_H3d.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H3e | zenon_intro zenon_Hb ].
% 19.57/19.77  apply zenon_H3e. apply sym_equal. exact zenon_H3d.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_Ha | zenon_intro zenon_H3f ].
% 19.57/19.77  apply (zenon_L2_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H14 | zenon_intro zenon_H40 ].
% 19.57/19.77  apply (zenon_L3_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H40); [ zenon_intro zenon_H1b | zenon_intro zenon_H41 ].
% 19.57/19.77  apply (zenon_L4_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H41); [ zenon_intro zenon_H22 | zenon_intro zenon_H2a ].
% 19.57/19.77  apply (zenon_L5_); trivial.
% 19.57/19.77  apply (zenon_L29_); trivial.
% 19.57/19.77  (* end of lemma zenon_L30_ *)
% 19.57/19.77  apply NNPP. intro zenon_G.
% 19.57/19.77  apply (zenon_and_s _ _ ax2). zenon_intro zenon_H74. zenon_intro zenon_H73.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H73). zenon_intro zenon_H29. zenon_intro zenon_H75.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H75). zenon_intro zenon_H13. zenon_intro zenon_H76.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H76). zenon_intro zenon_H9. zenon_intro zenon_H77.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H77). zenon_intro zenon_H79. zenon_intro zenon_H78.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H78). zenon_intro zenon_H47. zenon_intro zenon_H7a.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H7a). zenon_intro zenon_H6d. zenon_intro zenon_H7b.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H7b). zenon_intro zenon_H55. zenon_intro zenon_H7c.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H7c). zenon_intro zenon_H7e. zenon_intro zenon_H7d.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H7d). zenon_intro zenon_H7f. zenon_intro zenon_H3c.
% 19.57/19.77  apply (zenon_and_s _ _ ax4). zenon_intro zenon_H81. zenon_intro zenon_H80.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H80). zenon_intro zenon_H83. zenon_intro zenon_H82.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H82). zenon_intro zenon_H85. zenon_intro zenon_H84.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H84). zenon_intro zenon_H87. zenon_intro zenon_H86.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H86). zenon_intro zenon_H89. zenon_intro zenon_H88.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H88). zenon_intro zenon_H8b. zenon_intro zenon_H8a.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H8a). zenon_intro zenon_H8d. zenon_intro zenon_H8c.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H8c). zenon_intro zenon_H8f. zenon_intro zenon_H8e.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H8e). zenon_intro zenon_H91. zenon_intro zenon_H90.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H90). zenon_intro zenon_H93. zenon_intro zenon_H92.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H92). zenon_intro zenon_H95. zenon_intro zenon_H94.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H94). zenon_intro zenon_H97. zenon_intro zenon_H96.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H96). zenon_intro zenon_H99. zenon_intro zenon_H98.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H98). zenon_intro zenon_H9b. zenon_intro zenon_H9a.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H9a). zenon_intro zenon_H9d. zenon_intro zenon_H9c.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H9c). zenon_intro zenon_H9f. zenon_intro zenon_H9e.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H9e). zenon_intro zenon_Ha1. zenon_intro zenon_Ha0.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Ha0). zenon_intro zenon_Ha3. zenon_intro zenon_Ha2.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Ha2). zenon_intro zenon_Ha5. zenon_intro zenon_Ha4.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Ha4). zenon_intro zenon_Ha7. zenon_intro zenon_Ha6.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Ha6). zenon_intro zenon_Ha9. zenon_intro zenon_Ha8.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Ha8). zenon_intro zenon_Hab. zenon_intro zenon_Haa.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Haa). zenon_intro zenon_Had. zenon_intro zenon_Hac.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hac). zenon_intro zenon_Haf. zenon_intro zenon_Hae.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hae). zenon_intro zenon_Hb1. zenon_intro zenon_Hb0.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hb0). zenon_intro zenon_Hb3. zenon_intro zenon_Hb2.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hb2). zenon_intro zenon_Hb5. zenon_intro zenon_Hb4.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hb4). zenon_intro zenon_Hb7. zenon_intro zenon_Hb6.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hb6). zenon_intro zenon_Hb9. zenon_intro zenon_Hb8.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hb8). zenon_intro zenon_Hbb. zenon_intro zenon_Hba.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hba). zenon_intro zenon_Hbd. zenon_intro zenon_Hbc.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hbc). zenon_intro zenon_Hbf. zenon_intro zenon_Hbe.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hbe). zenon_intro zenon_Hc1. zenon_intro zenon_Hc0.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hc0). zenon_intro zenon_Hc3. zenon_intro zenon_Hc2.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hc2). zenon_intro zenon_Hc5. zenon_intro zenon_Hc4.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hc4). zenon_intro zenon_Hc7. zenon_intro zenon_Hc6.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hc6). zenon_intro zenon_Hc9. zenon_intro zenon_Hc8.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hc8). zenon_intro zenon_Hcb. zenon_intro zenon_Hca.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hca). zenon_intro zenon_Hcd. zenon_intro zenon_Hcc.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hcc). zenon_intro zenon_Hcf. zenon_intro zenon_Hce.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hce). zenon_intro zenon_Hd1. zenon_intro zenon_Hd0.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hd0). zenon_intro zenon_Hd3. zenon_intro zenon_Hd2.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hd2). zenon_intro zenon_Hd5. zenon_intro zenon_Hd4.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hd4). zenon_intro zenon_Hd7. zenon_intro zenon_Hd6.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hd6). zenon_intro zenon_Hd9. zenon_intro zenon_Hd8.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hd8). zenon_intro zenon_Hdb. zenon_intro zenon_Hda.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hda). zenon_intro zenon_Hdd. zenon_intro zenon_Hdc.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hdc). zenon_intro zenon_Hdf. zenon_intro zenon_Hde.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hde). zenon_intro zenon_He1. zenon_intro zenon_He0.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_He0). zenon_intro zenon_He3. zenon_intro zenon_He2.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_He2). zenon_intro zenon_He5. zenon_intro zenon_He4.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_He4). zenon_intro zenon_He7. zenon_intro zenon_He6.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_He6). zenon_intro zenon_He9. zenon_intro zenon_He8.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_He8). zenon_intro zenon_Heb. zenon_intro zenon_Hea.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hea). zenon_intro zenon_Hed. zenon_intro zenon_Hec.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hec). zenon_intro zenon_Hef. zenon_intro zenon_Hee.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hee). zenon_intro zenon_Hf1. zenon_intro zenon_Hf0.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hf0). zenon_intro zenon_Hf3. zenon_intro zenon_Hf2.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hf2). zenon_intro zenon_Hf5. zenon_intro zenon_Hf4.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hf4). zenon_intro zenon_H2c. zenon_intro zenon_Hf6.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hf6). zenon_intro zenon_Hf8. zenon_intro zenon_Hf7.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hf7). zenon_intro zenon_Hfa. zenon_intro zenon_Hf9.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hf9). zenon_intro zenon_Hfc. zenon_intro zenon_Hfb.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hfb). zenon_intro zenon_H8. zenon_intro zenon_Hfd.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hfd). zenon_intro zenon_Hff. zenon_intro zenon_Hfe.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_Hfe). zenon_intro zenon_H101. zenon_intro zenon_H100.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H100). zenon_intro zenon_H12. zenon_intro zenon_H102.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H102). zenon_intro zenon_H104. zenon_intro zenon_H103.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H103). zenon_intro zenon_H1a. zenon_intro zenon_H105.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H105). zenon_intro zenon_H21. zenon_intro zenon_H106.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H106). zenon_intro zenon_H108. zenon_intro zenon_H107.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H107). zenon_intro zenon_H10a. zenon_intro zenon_H109.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H109). zenon_intro zenon_H10c. zenon_intro zenon_H10b.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H10b). zenon_intro zenon_H10e. zenon_intro zenon_H10d.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H10d). zenon_intro zenon_H110. zenon_intro zenon_H10f.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H10f). zenon_intro zenon_H112. zenon_intro zenon_H111.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H111). zenon_intro zenon_H114. zenon_intro zenon_H113.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H113). zenon_intro zenon_H116. zenon_intro zenon_H115.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H115). zenon_intro zenon_H118. zenon_intro zenon_H117.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H117). zenon_intro zenon_H49. zenon_intro zenon_H119.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H119). zenon_intro zenon_H11b. zenon_intro zenon_H11a.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H11a). zenon_intro zenon_H11d. zenon_intro zenon_H11c.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H11c). zenon_intro zenon_H54. zenon_intro zenon_H11e.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H11e). zenon_intro zenon_H120. zenon_intro zenon_H11f.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H11f). zenon_intro zenon_H122. zenon_intro zenon_H121.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H121). zenon_intro zenon_H5c. zenon_intro zenon_H123.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H123). zenon_intro zenon_H125. zenon_intro zenon_H124.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H124). zenon_intro zenon_H61. zenon_intro zenon_H126.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H126). zenon_intro zenon_H128. zenon_intro zenon_H127.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H127). zenon_intro zenon_H66. zenon_intro zenon_H129.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H129). zenon_intro zenon_H12b. zenon_intro zenon_H12a.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H12a). zenon_intro zenon_H12d. zenon_intro zenon_H12c.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H12c). zenon_intro zenon_H12f. zenon_intro zenon_H12e.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H12e). zenon_intro zenon_H131. zenon_intro zenon_H130.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H130). zenon_intro zenon_H133. zenon_intro zenon_H132.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H132). zenon_intro zenon_H135. zenon_intro zenon_H134.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H134). zenon_intro zenon_H137. zenon_intro zenon_H136.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H136). zenon_intro zenon_H139. zenon_intro zenon_H138.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H138). zenon_intro zenon_H13a. zenon_intro zenon_H6c.
% 19.57/19.77  apply (zenon_and_s _ _ ax6). zenon_intro zenon_H13c. zenon_intro zenon_H13b.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H13b). zenon_intro zenon_H13e. zenon_intro zenon_H13d.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H13d). zenon_intro zenon_H13f. zenon_intro zenon_H3d.
% 19.57/19.77  apply zenon_G. zenon_intro zenon_H140.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H140). zenon_intro zenon_H142. zenon_intro zenon_H141.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H141). zenon_intro zenon_H144. zenon_intro zenon_H143.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H143). zenon_intro zenon_H146. zenon_intro zenon_H145.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H145). zenon_intro zenon_H148. zenon_intro zenon_H147.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H147). zenon_intro zenon_H14a. zenon_intro zenon_H149.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H149). zenon_intro zenon_H14c. zenon_intro zenon_H14b.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H14b). zenon_intro zenon_H14e. zenon_intro zenon_H14d.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H14d). zenon_intro zenon_H150. zenon_intro zenon_H14f.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H14f). zenon_intro zenon_H152. zenon_intro zenon_H151.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H151). zenon_intro zenon_H154. zenon_intro zenon_H153.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H153). zenon_intro zenon_H156. zenon_intro zenon_H155.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H155). zenon_intro zenon_H158. zenon_intro zenon_H157.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H157). zenon_intro zenon_H15a. zenon_intro zenon_H159.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H159). zenon_intro zenon_H42. zenon_intro zenon_H15b.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H15b). zenon_intro zenon_H3b. zenon_intro zenon_H15c.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H15c). zenon_intro zenon_H15e. zenon_intro zenon_H15d.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H15d). zenon_intro zenon_H160. zenon_intro zenon_H15f.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H15f). zenon_intro zenon_H162. zenon_intro zenon_H161.
% 19.57/19.77  apply (zenon_and_s _ _ zenon_H161). zenon_intro zenon_H50. zenon_intro zenon_H163.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H148); [ zenon_intro zenon_H165 | zenon_intro zenon_H164 ].
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H152); [ zenon_intro zenon_H166 | zenon_intro zenon_H2b ].
% 19.57/19.77  exact (zenon_H166 zenon_H165).
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H3e | zenon_intro zenon_Hb ].
% 19.57/19.77  apply zenon_H3e. apply sym_equal. exact zenon_H3d.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3c); [ zenon_intro zenon_Ha | zenon_intro zenon_H3f ].
% 19.57/19.77  apply (zenon_L2_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H3f); [ zenon_intro zenon_H14 | zenon_intro zenon_H40 ].
% 19.57/19.77  apply (zenon_L3_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H40); [ zenon_intro zenon_H1b | zenon_intro zenon_H41 ].
% 19.57/19.77  apply (zenon_L4_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H41); [ zenon_intro zenon_H22 | zenon_intro zenon_H2a ].
% 19.57/19.77  apply (zenon_L5_); trivial.
% 19.57/19.77  apply (zenon_L7_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H164); [ zenon_intro zenon_H43 | zenon_intro zenon_H167 ].
% 19.57/19.77  apply (zenon_L11_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H167); [ zenon_intro zenon_H4f | zenon_intro zenon_H168 ].
% 19.57/19.77  apply (zenon_L16_); trivial.
% 19.57/19.77  apply (zenon_or_s _ _ zenon_H168); [ zenon_intro zenon_H56 | zenon_intro zenon_H6e ].
% 19.57/19.77  apply (zenon_L27_); trivial.
% 19.57/19.77  apply (zenon_L30_); trivial.
% 19.57/19.77  Qed.
% 19.57/19.77  % SZS output end Proof
% 19.57/19.77  (* END-PROOF *)
% 19.57/19.77  nodes searched: 84825
% 19.57/19.77  max branch formulas: 526
% 19.57/19.77  proof nodes created: 10919
% 19.57/19.77  formulas created: 61702
% 19.57/19.77  
%------------------------------------------------------------------------------