↑ Up

Zenon---0.7.1.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Zenon---0.7.1
% Problem  : SYO604+1 : TPTP v8.1.0. Released v7.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_zenon %s %d

% Computer : n008.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 21 21:06:46 EDT 2022

% Result   : Theorem 0.38s 0.57s
% Output   : Proof 0.38s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : SYO604+1 : TPTP v8.1.0. Released v7.0.0.
% 0.03/0.12  % Command  : run_zenon %s %d
% 0.12/0.33  % Computer : n008.cluster.edu
% 0.12/0.33  % Model    : x86_64 x86_64
% 0.12/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33  % Memory   : 8042.1875MB
% 0.12/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.34  % CPULimit : 300
% 0.12/0.34  % WCLimit  : 600
% 0.12/0.34  % DateTime : Sat Jul  9 12:41:53 EDT 2022
% 0.12/0.34  % CPUTime  : 
% 0.38/0.57  (* PROOF-FOUND *)
% 0.38/0.57  % SZS status Theorem
% 0.38/0.57  (* BEGIN-PROOF *)
% 0.38/0.57  % SZS output start Proof
% 0.38/0.57  Theorem nc3 : ((forall A : zenon_U, (exists B : zenon_U, (((g_true_only B A)/\(((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(((g_both B A)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/((g_false_only B A)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))))))))\/((exists A : zenon_U, ((exists B : zenon_U, ((g_both B A)/\((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))))/\(~(exists B : zenon_U, (((g_true_only B A)/\(((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(((g_both B A)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/((g_false_only B A)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))))))))))/\(~(exists A : zenon_U, (forall B : zenon_U, (((g_true_only B A)/\(forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B))))\/((g_false_only B A)/\(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))))))).
% 0.38/0.57  Proof.
% 0.38/0.57  assert (zenon_L1_ : forall (zenon_TA_h : zenon_U), (g_false_only zenon_TA_h zenon_TA_h) -> (~(g_false zenon_TA_h zenon_TA_h)) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H5 zenon_H6.
% 0.38/0.57  generalize (false_only_g zenon_TA_h). zenon_intro zenon_H8.
% 0.38/0.57  generalize (zenon_H8 zenon_TA_h). zenon_intro zenon_H9.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H9); [ zenon_intro zenon_Hc; zenon_intro zenon_Hb | zenon_intro zenon_H5; zenon_intro zenon_Ha ].
% 0.38/0.57  exact (zenon_Hc zenon_H5).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_Ha). zenon_intro zenon_He. zenon_intro zenon_Hd.
% 0.38/0.57  exact (zenon_H6 zenon_He).
% 0.38/0.57  (* end of lemma zenon_L1_ *)
% 0.38/0.57  assert (zenon_L2_ : forall (zenon_TA_h : zenon_U), (~(~(g_false zenon_TA_h zenon_TA_h))) -> (~(g_false zenon_TA_h zenon_TA_h)) -> False).
% 0.38/0.57  do 1 intro. intros zenon_Hf zenon_H6.
% 0.38/0.57  exact (zenon_Hf zenon_H6).
% 0.38/0.57  (* end of lemma zenon_L2_ *)
% 0.38/0.57  assert (zenon_L3_ : forall (zenon_TA_h : zenon_U), (~((g_true zenon_TA_h zenon_TA_h)/\(~(g_false zenon_TA_h zenon_TA_h)))) -> (~(g_false zenon_TA_h zenon_TA_h)) -> (forall X_1 : zenon_U, ((g_true_only zenon_TA_h X_1)\/((g_both zenon_TA_h X_1)\/(g_false_only zenon_TA_h X_1)))) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H10 zenon_H6 zenon_H11.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H10); [ zenon_intro zenon_Hd | zenon_intro zenon_Hf ].
% 0.38/0.57  generalize (zenon_H11 zenon_TA_h). zenon_intro zenon_H12.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H12); [ zenon_intro zenon_H14 | zenon_intro zenon_H13 ].
% 0.38/0.57  generalize (true_only_g zenon_TA_h). zenon_intro zenon_H15.
% 0.38/0.57  generalize (zenon_H15 zenon_TA_h). zenon_intro zenon_H16.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H16); [ zenon_intro zenon_H18; zenon_intro zenon_H10 | zenon_intro zenon_H14; zenon_intro zenon_H17 ].
% 0.38/0.57  exact (zenon_H18 zenon_H14).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H17). zenon_intro zenon_H19. zenon_intro zenon_H6.
% 0.38/0.57  exact (zenon_Hd zenon_H19).
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H13); [ zenon_intro zenon_H1a | zenon_intro zenon_H5 ].
% 0.38/0.57  generalize (both_g zenon_TA_h). zenon_intro zenon_H1b.
% 0.38/0.57  generalize (zenon_H1b zenon_TA_h). zenon_intro zenon_H1c.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H1c); [ zenon_intro zenon_H1f; zenon_intro zenon_H1e | zenon_intro zenon_H1a; zenon_intro zenon_H1d ].
% 0.38/0.57  exact (zenon_H1f zenon_H1a).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H1d). zenon_intro zenon_H19. zenon_intro zenon_He.
% 0.38/0.57  exact (zenon_Hd zenon_H19).
% 0.38/0.57  apply (zenon_L1_ zenon_TA_h); trivial.
% 0.38/0.57  exact (zenon_Hf zenon_H6).
% 0.38/0.57  (* end of lemma zenon_L3_ *)
% 0.38/0.57  assert (zenon_L4_ : forall (zenon_TA_h : zenon_U), (~(g_false zenon_TA_h zenon_TA_h)) -> (~((g_true zenon_TA_h zenon_TA_h)/\(~(g_false zenon_TA_h zenon_TA_h)))) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H6 zenon_H10.
% 0.38/0.57  generalize (exhaustion_g zenon_TA_h). zenon_intro zenon_H11.
% 0.38/0.57  apply (zenon_L3_ zenon_TA_h); trivial.
% 0.38/0.57  (* end of lemma zenon_L4_ *)
% 0.38/0.57  assert (zenon_L5_ : forall (zenon_TA_h : zenon_U), (~(~(g_true zenon_TA_h zenon_TA_h))) -> (~(g_true zenon_TA_h zenon_TA_h)) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H20 zenon_Hd.
% 0.38/0.57  exact (zenon_H20 zenon_Hd).
% 0.38/0.57  (* end of lemma zenon_L5_ *)
% 0.38/0.57  assert (zenon_L6_ : forall (zenon_TA_h : zenon_U) (zenon_TC_bj : zenon_U), (g_both zenon_TC_bj zenon_TA_h) -> (~(g_false zenon_TC_bj zenon_TA_h)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H21 zenon_H22.
% 0.38/0.57  generalize (both_g zenon_TC_bj). zenon_intro zenon_H24.
% 0.38/0.57  generalize (zenon_H24 zenon_TA_h). zenon_intro zenon_H25.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H25); [ zenon_intro zenon_H28; zenon_intro zenon_H27 | zenon_intro zenon_H21; zenon_intro zenon_H26 ].
% 0.38/0.57  exact (zenon_H28 zenon_H21).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H26). zenon_intro zenon_H2a. zenon_intro zenon_H29.
% 0.38/0.57  exact (zenon_H22 zenon_H29).
% 0.38/0.57  (* end of lemma zenon_L6_ *)
% 0.38/0.57  assert (zenon_L7_ : forall (zenon_TA_h : zenon_U) (zenon_TC_bj : zenon_U), (g_false_only zenon_TC_bj zenon_TA_h) -> (~(g_false zenon_TC_bj zenon_TA_h)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H2b zenon_H22.
% 0.38/0.57  generalize (false_only_g zenon_TC_bj). zenon_intro zenon_H2c.
% 0.38/0.57  generalize (zenon_H2c zenon_TA_h). zenon_intro zenon_H2d.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H2d); [ zenon_intro zenon_H30; zenon_intro zenon_H2f | zenon_intro zenon_H2b; zenon_intro zenon_H2e ].
% 0.38/0.57  exact (zenon_H30 zenon_H2b).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H2e). zenon_intro zenon_H29. zenon_intro zenon_H31.
% 0.38/0.57  exact (zenon_H22 zenon_H29).
% 0.38/0.57  (* end of lemma zenon_L7_ *)
% 0.38/0.57  assert (zenon_L8_ : forall (zenon_TA_h : zenon_U) (zenon_TC_bj : zenon_U), (~(~(g_false zenon_TC_bj zenon_TA_h))) -> (~(g_false zenon_TC_bj zenon_TA_h)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H32 zenon_H22.
% 0.38/0.57  exact (zenon_H32 zenon_H22).
% 0.38/0.57  (* end of lemma zenon_L8_ *)
% 0.38/0.57  assert (zenon_L9_ : forall (zenon_TA_h : zenon_U) (zenon_TC_bj : zenon_U), (~(g_false zenon_TC_bj zenon_TA_h)) -> (~(g_true_only zenon_TC_bj zenon_TA_h)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H22 zenon_H33.
% 0.38/0.57  generalize (true_only_g zenon_TC_bj). zenon_intro zenon_H34.
% 0.38/0.57  generalize (zenon_H34 zenon_TA_h). zenon_intro zenon_H35.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H35); [ zenon_intro zenon_H33; zenon_intro zenon_H38 | zenon_intro zenon_H37; zenon_intro zenon_H36 ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H38); [ zenon_intro zenon_H31 | zenon_intro zenon_H32 ].
% 0.38/0.57  generalize (exhaustion_g zenon_TC_bj). zenon_intro zenon_H39.
% 0.38/0.57  generalize (zenon_H39 zenon_TA_h). zenon_intro zenon_H3a.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H3a); [ zenon_intro zenon_H37 | zenon_intro zenon_H3b ].
% 0.38/0.57  generalize (true_only_g zenon_TC_bj). zenon_intro zenon_H34.
% 0.38/0.57  generalize (zenon_H34 zenon_TA_h). zenon_intro zenon_H35.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H35); [ zenon_intro zenon_H33; zenon_intro zenon_H38 | zenon_intro zenon_H37; zenon_intro zenon_H36 ].
% 0.38/0.57  exact (zenon_H33 zenon_H37).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H36). zenon_intro zenon_H2a. zenon_intro zenon_H22.
% 0.38/0.57  exact (zenon_H31 zenon_H2a).
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H21 | zenon_intro zenon_H2b ].
% 0.38/0.57  apply (zenon_L6_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_L7_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  exact (zenon_H32 zenon_H22).
% 0.38/0.57  exact (zenon_H33 zenon_H37).
% 0.38/0.57  (* end of lemma zenon_L9_ *)
% 0.38/0.57  assert (zenon_L10_ : forall (zenon_TA_h : zenon_U) (zenon_TC_bj : zenon_U), (g_true zenon_TC_bj zenon_TA_h) -> (~(g_false zenon_TC_bj zenon_TA_h)) -> (~(g_true_only zenon_TC_bj zenon_TA_h)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H2a zenon_H22 zenon_H33.
% 0.38/0.57  generalize (true_only_g zenon_TC_bj). zenon_intro zenon_H34.
% 0.38/0.57  generalize (zenon_H34 zenon_TA_h). zenon_intro zenon_H35.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H35); [ zenon_intro zenon_H33; zenon_intro zenon_H38 | zenon_intro zenon_H37; zenon_intro zenon_H36 ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H38); [ zenon_intro zenon_H31 | zenon_intro zenon_H32 ].
% 0.38/0.57  exact (zenon_H31 zenon_H2a).
% 0.38/0.57  exact (zenon_H32 zenon_H22).
% 0.38/0.57  exact (zenon_H33 zenon_H37).
% 0.38/0.57  (* end of lemma zenon_L10_ *)
% 0.38/0.57  assert (zenon_L11_ : forall (zenon_TC_bj : zenon_U) (zenon_TA_h : zenon_U), ((g_true zenon_TA_h zenon_TC_bj)/\(~(g_false zenon_TA_h zenon_TC_bj))) -> (~(g_true_only zenon_TA_h zenon_TC_bj)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H3c zenon_H3d.
% 0.38/0.57  generalize (true_only_g zenon_TA_h). zenon_intro zenon_H15.
% 0.38/0.57  generalize (zenon_H15 zenon_TC_bj). zenon_intro zenon_H3e.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H3e); [ zenon_intro zenon_H3d; zenon_intro zenon_H40 | zenon_intro zenon_H3f; zenon_intro zenon_H3c ].
% 0.38/0.57  exact (zenon_H40 zenon_H3c).
% 0.38/0.57  exact (zenon_H3d zenon_H3f).
% 0.38/0.57  (* end of lemma zenon_L11_ *)
% 0.38/0.57  assert (zenon_L12_ : forall (zenon_TC_bj : zenon_U) (zenon_TA_h : zenon_U), (g_both zenon_TA_h zenon_TC_bj) -> (~(g_false zenon_TA_h zenon_TC_bj)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H41 zenon_H42.
% 0.38/0.57  generalize (both_g zenon_TA_h). zenon_intro zenon_H1b.
% 0.38/0.57  generalize (zenon_H1b zenon_TC_bj). zenon_intro zenon_H43.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H43); [ zenon_intro zenon_H46; zenon_intro zenon_H45 | zenon_intro zenon_H41; zenon_intro zenon_H44 ].
% 0.38/0.57  exact (zenon_H46 zenon_H41).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H44). zenon_intro zenon_H48. zenon_intro zenon_H47.
% 0.38/0.57  exact (zenon_H42 zenon_H47).
% 0.38/0.57  (* end of lemma zenon_L12_ *)
% 0.38/0.57  assert (zenon_L13_ : forall (zenon_TC_bj : zenon_U) (zenon_TA_h : zenon_U), (g_false_only zenon_TA_h zenon_TC_bj) -> (~(g_false zenon_TA_h zenon_TC_bj)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H49 zenon_H42.
% 0.38/0.57  generalize (false_only_g zenon_TA_h). zenon_intro zenon_H8.
% 0.38/0.57  generalize (zenon_H8 zenon_TC_bj). zenon_intro zenon_H4a.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H4a); [ zenon_intro zenon_H4d; zenon_intro zenon_H4c | zenon_intro zenon_H49; zenon_intro zenon_H4b ].
% 0.38/0.57  exact (zenon_H4d zenon_H49).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H4b). zenon_intro zenon_H47. zenon_intro zenon_H4e.
% 0.38/0.57  exact (zenon_H42 zenon_H47).
% 0.38/0.57  (* end of lemma zenon_L13_ *)
% 0.38/0.57  assert (zenon_L14_ : forall (zenon_TA_h : zenon_U) (zenon_TC_bj : zenon_U), (~(exists C : zenon_U, ((g_true_only zenon_TC_bj C)/\(g_true_only C zenon_TC_bj)))) -> (g_true zenon_TC_bj zenon_TA_h) -> (~(g_false zenon_TC_bj zenon_TA_h)) -> (~(g_false zenon_TA_h zenon_TC_bj)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H4f zenon_H2a zenon_H22 zenon_H42.
% 0.38/0.57  apply zenon_H4f. exists zenon_TA_h. apply NNPP. zenon_intro zenon_H50.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H50); [ zenon_intro zenon_H33 | zenon_intro zenon_H3d ].
% 0.38/0.57  apply (zenon_L10_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  generalize (exhaustion_g zenon_TA_h). zenon_intro zenon_H11.
% 0.38/0.57  generalize (zenon_H11 zenon_TC_bj). zenon_intro zenon_H51.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H51); [ zenon_intro zenon_H3f | zenon_intro zenon_H52 ].
% 0.38/0.57  exact (zenon_H3d zenon_H3f).
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H52); [ zenon_intro zenon_H41 | zenon_intro zenon_H49 ].
% 0.38/0.57  apply (zenon_L12_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply (zenon_L13_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  (* end of lemma zenon_L14_ *)
% 0.38/0.57  assert (zenon_L15_ : forall (zenon_TA_h : zenon_U) (zenon_TC_bj : zenon_U), (~(g_false zenon_TC_bj zenon_TA_h)) -> (~(g_false zenon_TA_h zenon_TC_bj)) -> (~(exists B : zenon_U, (((g_true_only B zenon_TA_h)/\(((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(((g_both B zenon_TA_h)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/((g_false_only B zenon_TA_h)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B))))))))))) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H22 zenon_H42 zenon_H53.
% 0.38/0.57  generalize (exhaustion_g zenon_TC_bj). zenon_intro zenon_H39.
% 0.38/0.57  apply zenon_H53. exists zenon_TC_bj. apply NNPP. zenon_intro zenon_H54.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H54). zenon_intro zenon_H56. zenon_intro zenon_H55.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H56); [ zenon_intro zenon_H33 | zenon_intro zenon_H57 ].
% 0.38/0.57  apply (zenon_L9_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H57). zenon_intro zenon_H58. zenon_intro zenon_H4f.
% 0.38/0.57  generalize (zenon_H39 zenon_TA_h). zenon_intro zenon_H3a.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H3a); [ zenon_intro zenon_H37 | zenon_intro zenon_H3b ].
% 0.38/0.57  generalize (true_only_g zenon_TC_bj). zenon_intro zenon_H34.
% 0.38/0.57  generalize (zenon_H34 zenon_TA_h). zenon_intro zenon_H35.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H35); [ zenon_intro zenon_H33; zenon_intro zenon_H38 | zenon_intro zenon_H37; zenon_intro zenon_H36 ].
% 0.38/0.57  exact (zenon_H33 zenon_H37).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H36). zenon_intro zenon_H2a. zenon_intro zenon_H22.
% 0.38/0.57  apply (zenon_L14_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H21 | zenon_intro zenon_H2b ].
% 0.38/0.57  apply (zenon_L6_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_L7_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  (* end of lemma zenon_L15_ *)
% 0.38/0.57  assert (zenon_L16_ : forall (zenon_TC_bj : zenon_U) (zenon_TA_h : zenon_U), (g_false_only zenon_TA_h zenon_TC_bj) -> (g_true zenon_TA_h zenon_TC_bj) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H49 zenon_H48.
% 0.38/0.57  generalize (false_only_g zenon_TA_h). zenon_intro zenon_H8.
% 0.38/0.57  generalize (zenon_H8 zenon_TC_bj). zenon_intro zenon_H4a.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H4a); [ zenon_intro zenon_H4d; zenon_intro zenon_H4c | zenon_intro zenon_H49; zenon_intro zenon_H4b ].
% 0.38/0.57  exact (zenon_H4d zenon_H49).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H4b). zenon_intro zenon_H47. zenon_intro zenon_H4e.
% 0.38/0.57  exact (zenon_H4e zenon_H48).
% 0.38/0.57  (* end of lemma zenon_L16_ *)
% 0.38/0.57  assert (zenon_L17_ : forall (zenon_TA_h : zenon_U) (zenon_TC_dn : zenon_U), ((g_true zenon_TC_dn zenon_TA_h)/\(~(g_false zenon_TC_dn zenon_TA_h))) -> (~(g_true_only zenon_TC_dn zenon_TA_h)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H59 zenon_H5a.
% 0.38/0.57  generalize (true_only_g zenon_TC_dn). zenon_intro zenon_H5c.
% 0.38/0.57  generalize (zenon_H5c zenon_TA_h). zenon_intro zenon_H5d.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H5d); [ zenon_intro zenon_H5a; zenon_intro zenon_H5f | zenon_intro zenon_H5e; zenon_intro zenon_H59 ].
% 0.38/0.57  exact (zenon_H5f zenon_H59).
% 0.38/0.57  exact (zenon_H5a zenon_H5e).
% 0.38/0.57  (* end of lemma zenon_L17_ *)
% 0.38/0.57  assert (zenon_L18_ : forall (zenon_TA_h : zenon_U), (exists C : zenon_U, ((g_true_only zenon_TA_h C)/\(g_true_only C zenon_TA_h))) -> (~(exists B : zenon_U, (((g_true_only B zenon_TA_h)/\(((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(((g_both B zenon_TA_h)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/((g_false_only B zenon_TA_h)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B))))))))))) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H60 zenon_H53.
% 0.38/0.57  elim zenon_H60. zenon_intro zenon_TC_dn. zenon_intro zenon_H61.
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H61). zenon_intro zenon_H62. zenon_intro zenon_H5e.
% 0.38/0.57  generalize (true_only_g zenon_TA_h). zenon_intro zenon_H15.
% 0.38/0.57  generalize (zenon_H15 zenon_TC_dn). zenon_intro zenon_H63.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H63); [ zenon_intro zenon_H66; zenon_intro zenon_H65 | zenon_intro zenon_H62; zenon_intro zenon_H64 ].
% 0.38/0.57  exact (zenon_H66 zenon_H62).
% 0.38/0.57  generalize (true_only_g zenon_TC_dn). zenon_intro zenon_H5c.
% 0.38/0.57  generalize (zenon_H5c zenon_TA_h). zenon_intro zenon_H5d.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H5d); [ zenon_intro zenon_H5a; zenon_intro zenon_H5f | zenon_intro zenon_H5e; zenon_intro zenon_H59 ].
% 0.38/0.57  exact (zenon_H5a zenon_H5e).
% 0.38/0.57  apply zenon_H53. exists zenon_TC_dn. apply NNPP. zenon_intro zenon_H67.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H67). zenon_intro zenon_H69. zenon_intro zenon_H68.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H69); [ zenon_intro zenon_H5a | zenon_intro zenon_H6a ].
% 0.38/0.57  apply (zenon_L17_ zenon_TA_h zenon_TC_dn); trivial.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H6a). zenon_intro zenon_H6c. zenon_intro zenon_H6b.
% 0.38/0.57  apply zenon_H6b. exists zenon_TA_h. apply NNPP. zenon_intro zenon_H6d.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H6d); [ zenon_intro zenon_H5a | zenon_intro zenon_H66 ].
% 0.38/0.57  apply (zenon_L17_ zenon_TA_h zenon_TC_dn); trivial.
% 0.38/0.57  generalize (true_only_g zenon_TA_h). zenon_intro zenon_H15.
% 0.38/0.57  generalize (zenon_H15 zenon_TC_dn). zenon_intro zenon_H63.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H63); [ zenon_intro zenon_H66; zenon_intro zenon_H65 | zenon_intro zenon_H62; zenon_intro zenon_H64 ].
% 0.38/0.57  exact (zenon_H65 zenon_H64).
% 0.38/0.57  exact (zenon_H66 zenon_H62).
% 0.38/0.57  (* end of lemma zenon_L18_ *)
% 0.38/0.57  assert (zenon_L19_ : forall (zenon_TA_h : zenon_U), (~(~(exists C : zenon_U, ((g_true_only zenon_TA_h C)/\(g_true_only C zenon_TA_h))))) -> (~(exists B : zenon_U, (((g_true_only B zenon_TA_h)/\(((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(((g_both B zenon_TA_h)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/((g_false_only B zenon_TA_h)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B))))))))))) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H6e zenon_H53.
% 0.38/0.57  apply zenon_H6e. zenon_intro zenon_H60.
% 0.38/0.57  apply (zenon_L18_ zenon_TA_h); trivial.
% 0.38/0.57  (* end of lemma zenon_L19_ *)
% 0.38/0.57  assert (zenon_L20_ : forall (zenon_TA_h : zenon_U) (zenon_TC_bj : zenon_U), (g_false_only zenon_TC_bj zenon_TA_h) -> (g_true zenon_TC_bj zenon_TA_h) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H2b zenon_H2a.
% 0.38/0.57  generalize (false_only_g zenon_TC_bj). zenon_intro zenon_H2c.
% 0.38/0.57  generalize (zenon_H2c zenon_TA_h). zenon_intro zenon_H2d.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H2d); [ zenon_intro zenon_H30; zenon_intro zenon_H2f | zenon_intro zenon_H2b; zenon_intro zenon_H2e ].
% 0.38/0.57  exact (zenon_H30 zenon_H2b).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H2e). zenon_intro zenon_H29. zenon_intro zenon_H31.
% 0.38/0.57  exact (zenon_H31 zenon_H2a).
% 0.38/0.57  (* end of lemma zenon_L20_ *)
% 0.38/0.57  assert (zenon_L21_ : forall (zenon_TC_bj : zenon_U) (zenon_TA_h : zenon_U), (g_true zenon_TA_h zenon_TC_bj) -> (~(g_false zenon_TC_bj zenon_TA_h)) -> (~(exists C : zenon_U, (((g_both zenon_TA_h C)\/(g_both C zenon_TA_h))/\((~(g_false_only zenon_TA_h C))/\(~(g_false_only C zenon_TA_h)))))) -> (~(g_true_only zenon_TA_h zenon_TC_bj)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H48 zenon_H22 zenon_H6f zenon_H3d.
% 0.38/0.57  generalize (true_only_g zenon_TA_h). zenon_intro zenon_H15.
% 0.38/0.57  generalize (zenon_H15 zenon_TC_bj). zenon_intro zenon_H3e.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H3e); [ zenon_intro zenon_H3d; zenon_intro zenon_H40 | zenon_intro zenon_H3f; zenon_intro zenon_H3c ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H40); [ zenon_intro zenon_H4e | zenon_intro zenon_H70 ].
% 0.38/0.57  exact (zenon_H4e zenon_H48).
% 0.38/0.57  apply zenon_H70. zenon_intro zenon_H47.
% 0.38/0.57  apply zenon_H6f. exists zenon_TC_bj. apply NNPP. zenon_intro zenon_H71.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H71); [ zenon_intro zenon_H73 | zenon_intro zenon_H72 ].
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H73). zenon_intro zenon_H46. zenon_intro zenon_H28.
% 0.38/0.57  generalize (both_g zenon_TA_h). zenon_intro zenon_H1b.
% 0.38/0.57  generalize (zenon_H1b zenon_TC_bj). zenon_intro zenon_H43.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H43); [ zenon_intro zenon_H46; zenon_intro zenon_H45 | zenon_intro zenon_H41; zenon_intro zenon_H44 ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H45); [ zenon_intro zenon_H4e | zenon_intro zenon_H42 ].
% 0.38/0.57  exact (zenon_H4e zenon_H48).
% 0.38/0.57  exact (zenon_H42 zenon_H47).
% 0.38/0.57  exact (zenon_H46 zenon_H41).
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H72); [ zenon_intro zenon_H75 | zenon_intro zenon_H74 ].
% 0.38/0.57  apply zenon_H75. zenon_intro zenon_H49.
% 0.38/0.57  apply (zenon_L16_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply zenon_H74. zenon_intro zenon_H2b.
% 0.38/0.57  apply (zenon_L7_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  exact (zenon_H3d zenon_H3f).
% 0.38/0.57  (* end of lemma zenon_L21_ *)
% 0.38/0.57  assert (zenon_L22_ : forall (zenon_TA_h : zenon_U), (forall X_1 : zenon_U, ((g_true_only zenon_TA_h X_1)\/((g_both zenon_TA_h X_1)\/(g_false_only zenon_TA_h X_1)))) -> (~(g_false zenon_TA_h zenon_TA_h)) -> (~(g_true_only zenon_TA_h zenon_TA_h)) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H11 zenon_H6 zenon_H18.
% 0.38/0.57  generalize (true_only_g zenon_TA_h). zenon_intro zenon_H15.
% 0.38/0.57  generalize (zenon_H15 zenon_TA_h). zenon_intro zenon_H16.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H16); [ zenon_intro zenon_H18; zenon_intro zenon_H10 | zenon_intro zenon_H14; zenon_intro zenon_H17 ].
% 0.38/0.57  apply (zenon_L3_ zenon_TA_h); trivial.
% 0.38/0.57  exact (zenon_H18 zenon_H14).
% 0.38/0.57  (* end of lemma zenon_L22_ *)
% 0.38/0.57  assert (zenon_L23_ : forall (zenon_TA_h : zenon_U), (~(g_false zenon_TA_h zenon_TA_h)) -> (~(exists C : zenon_U, ((g_true_only zenon_TA_h C)/\(g_true_only C zenon_TA_h)))) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H6 zenon_H76.
% 0.38/0.57  generalize (exhaustion_g zenon_TA_h). zenon_intro zenon_H11.
% 0.38/0.57  apply zenon_H76. exists zenon_TA_h. apply NNPP. zenon_intro zenon_H77.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H77); [ zenon_intro zenon_H18 | zenon_intro zenon_H18 ].
% 0.38/0.57  apply (zenon_L22_ zenon_TA_h); trivial.
% 0.38/0.57  apply (zenon_L22_ zenon_TA_h); trivial.
% 0.38/0.57  (* end of lemma zenon_L23_ *)
% 0.38/0.57  assert (zenon_L24_ : forall (zenon_TC_bj : zenon_U) (zenon_TA_h : zenon_U), (~(exists C : zenon_U, (((g_both zenon_TA_h C)\/(g_both C zenon_TA_h))/\((~(g_false_only zenon_TA_h C))/\(~(g_false_only C zenon_TA_h)))))) -> ((g_true zenon_TA_h zenon_TC_bj)/\(~(g_false zenon_TA_h zenon_TC_bj))) -> (~(exists C : zenon_U, ((g_true_only zenon_TA_h C)/\(g_true_only C zenon_TA_h)))) -> (g_true zenon_TC_bj zenon_TA_h) -> (g_true zenon_TA_h zenon_TC_bj) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H6f zenon_H3c zenon_H76 zenon_H2a zenon_H48.
% 0.38/0.57  apply zenon_H6f. exists zenon_TC_bj. apply NNPP. zenon_intro zenon_H71.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H71); [ zenon_intro zenon_H73 | zenon_intro zenon_H72 ].
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H73). zenon_intro zenon_H46. zenon_intro zenon_H28.
% 0.38/0.57  generalize (both_g zenon_TC_bj). zenon_intro zenon_H24.
% 0.38/0.57  generalize (zenon_H24 zenon_TA_h). zenon_intro zenon_H25.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H25); [ zenon_intro zenon_H28; zenon_intro zenon_H27 | zenon_intro zenon_H21; zenon_intro zenon_H26 ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H27); [ zenon_intro zenon_H31 | zenon_intro zenon_H22 ].
% 0.38/0.57  exact (zenon_H31 zenon_H2a).
% 0.38/0.57  apply zenon_H76. exists zenon_TC_bj. apply NNPP. zenon_intro zenon_H78.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H78); [ zenon_intro zenon_H3d | zenon_intro zenon_H33 ].
% 0.38/0.57  apply (zenon_L11_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply (zenon_L10_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  exact (zenon_H28 zenon_H21).
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H72); [ zenon_intro zenon_H75 | zenon_intro zenon_H74 ].
% 0.38/0.57  apply zenon_H75. zenon_intro zenon_H49.
% 0.38/0.57  apply (zenon_L16_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply zenon_H74. zenon_intro zenon_H2b.
% 0.38/0.57  apply (zenon_L20_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  (* end of lemma zenon_L24_ *)
% 0.38/0.57  assert (zenon_L25_ : forall (zenon_TC_bj : zenon_U) (zenon_TA_h : zenon_U), (forall X_1 : zenon_U, ((g_true_only zenon_TA_h X_1)\/((g_both zenon_TA_h X_1)\/(g_false_only zenon_TA_h X_1)))) -> (~(exists C : zenon_U, (((g_both zenon_TA_h C)\/(g_both C zenon_TA_h))/\((~(g_false_only zenon_TA_h C))/\(~(g_false_only C zenon_TA_h)))))) -> (~(exists C : zenon_U, ((g_true_only zenon_TA_h C)/\(g_true_only C zenon_TA_h)))) -> (g_true zenon_TC_bj zenon_TA_h) -> (~(g_false zenon_TA_h zenon_TC_bj)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H11 zenon_H6f zenon_H76 zenon_H2a zenon_H42.
% 0.38/0.57  generalize (zenon_H11 zenon_TC_bj). zenon_intro zenon_H51.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H51); [ zenon_intro zenon_H3f | zenon_intro zenon_H52 ].
% 0.38/0.57  generalize (true_only_g zenon_TA_h). zenon_intro zenon_H15.
% 0.38/0.57  generalize (zenon_H15 zenon_TC_bj). zenon_intro zenon_H3e.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H3e); [ zenon_intro zenon_H3d; zenon_intro zenon_H40 | zenon_intro zenon_H3f; zenon_intro zenon_H3c ].
% 0.38/0.57  exact (zenon_H3d zenon_H3f).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H3c). zenon_intro zenon_H48. zenon_intro zenon_H42.
% 0.38/0.57  apply (zenon_L24_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H52); [ zenon_intro zenon_H41 | zenon_intro zenon_H49 ].
% 0.38/0.57  apply (zenon_L12_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply (zenon_L13_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  (* end of lemma zenon_L25_ *)
% 0.38/0.57  assert (zenon_L26_ : forall (zenon_TA_h : zenon_U) (zenon_TC_bj : zenon_U), (~(~(g_true zenon_TC_bj zenon_TA_h))) -> (~(exists C : zenon_U, ((g_true_only zenon_TA_h C)/\(g_true_only C zenon_TA_h)))) -> (~(exists C : zenon_U, (((g_both zenon_TA_h C)\/(g_both C zenon_TA_h))/\((~(g_false_only zenon_TA_h C))/\(~(g_false_only C zenon_TA_h)))))) -> (~((g_false zenon_TA_h zenon_TC_bj)/\(~(g_true zenon_TA_h zenon_TC_bj)))) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H79 zenon_H76 zenon_H6f zenon_H4c.
% 0.38/0.57  apply zenon_H79. zenon_intro zenon_H2a.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H4c); [ zenon_intro zenon_H42 | zenon_intro zenon_H7a ].
% 0.38/0.57  generalize (exhaustion_g zenon_TA_h). zenon_intro zenon_H11.
% 0.38/0.57  apply (zenon_L25_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply zenon_H7a. zenon_intro zenon_H48.
% 0.38/0.57  generalize (exhaustion_g zenon_TA_h). zenon_intro zenon_H11.
% 0.38/0.57  generalize (zenon_H11 zenon_TC_bj). zenon_intro zenon_H51.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H51); [ zenon_intro zenon_H3f | zenon_intro zenon_H52 ].
% 0.38/0.57  generalize (true_only_g zenon_TA_h). zenon_intro zenon_H15.
% 0.38/0.57  generalize (zenon_H15 zenon_TC_bj). zenon_intro zenon_H3e.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H3e); [ zenon_intro zenon_H3d; zenon_intro zenon_H40 | zenon_intro zenon_H3f; zenon_intro zenon_H3c ].
% 0.38/0.57  exact (zenon_H3d zenon_H3f).
% 0.38/0.57  apply (zenon_L24_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H52); [ zenon_intro zenon_H41 | zenon_intro zenon_H49 ].
% 0.38/0.57  generalize (both_g zenon_TA_h). zenon_intro zenon_H1b.
% 0.38/0.57  generalize (zenon_H1b zenon_TC_bj). zenon_intro zenon_H43.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H43); [ zenon_intro zenon_H46; zenon_intro zenon_H45 | zenon_intro zenon_H41; zenon_intro zenon_H44 ].
% 0.38/0.57  exact (zenon_H46 zenon_H41).
% 0.38/0.57  apply zenon_H6f. exists zenon_TC_bj. apply NNPP. zenon_intro zenon_H71.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H71); [ zenon_intro zenon_H73 | zenon_intro zenon_H72 ].
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H73). zenon_intro zenon_H46. zenon_intro zenon_H28.
% 0.38/0.57  generalize (both_g zenon_TA_h). zenon_intro zenon_H1b.
% 0.38/0.57  generalize (zenon_H1b zenon_TC_bj). zenon_intro zenon_H43.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H43); [ zenon_intro zenon_H46; zenon_intro zenon_H45 | zenon_intro zenon_H41; zenon_intro zenon_H44 ].
% 0.38/0.57  exact (zenon_H45 zenon_H44).
% 0.38/0.57  exact (zenon_H46 zenon_H41).
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H72); [ zenon_intro zenon_H75 | zenon_intro zenon_H74 ].
% 0.38/0.57  apply zenon_H75. zenon_intro zenon_H49.
% 0.38/0.57  apply (zenon_L16_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply zenon_H74. zenon_intro zenon_H2b.
% 0.38/0.57  apply (zenon_L20_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_L16_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  (* end of lemma zenon_L26_ *)
% 0.38/0.57  assert (zenon_L27_ : forall (zenon_TA_h : zenon_U), (~(forall C : zenon_U, ((g_false_only zenon_TA_h C)\/(g_false_only C zenon_TA_h)))) -> (~(exists C : zenon_U, ((g_true_only zenon_TA_h C)/\(g_true_only C zenon_TA_h)))) -> (~(exists C : zenon_U, (((g_both zenon_TA_h C)\/(g_both C zenon_TA_h))/\((~(g_false_only zenon_TA_h C))/\(~(g_false_only C zenon_TA_h)))))) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H7b zenon_H76 zenon_H6f.
% 0.38/0.57  apply (zenon_notallex_s (fun C : zenon_U => ((g_false_only zenon_TA_h C)\/(g_false_only C zenon_TA_h))) zenon_H7b); [ zenon_intro zenon_H7c; idtac ].
% 0.38/0.57  elim zenon_H7c. zenon_intro zenon_TC_bj. zenon_intro zenon_H7d.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H7d). zenon_intro zenon_H4d. zenon_intro zenon_H30.
% 0.38/0.57  generalize (false_only_g zenon_TA_h). zenon_intro zenon_H8.
% 0.38/0.57  generalize (zenon_H8 zenon_TC_bj). zenon_intro zenon_H4a.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H4a); [ zenon_intro zenon_H4d; zenon_intro zenon_H4c | zenon_intro zenon_H49; zenon_intro zenon_H4b ].
% 0.38/0.57  generalize (false_only_g zenon_TC_bj). zenon_intro zenon_H2c.
% 0.38/0.57  generalize (zenon_H2c zenon_TA_h). zenon_intro zenon_H2d.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H2d); [ zenon_intro zenon_H30; zenon_intro zenon_H2f | zenon_intro zenon_H2b; zenon_intro zenon_H2e ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H2f); [ zenon_intro zenon_H22 | zenon_intro zenon_H79 ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H4c); [ zenon_intro zenon_H42 | zenon_intro zenon_H7a ].
% 0.38/0.57  generalize (exhaustion_g zenon_TC_bj). zenon_intro zenon_H39.
% 0.38/0.57  generalize (exhaustion_g zenon_TA_h). zenon_intro zenon_H11.
% 0.38/0.57  generalize (zenon_H39 zenon_TA_h). zenon_intro zenon_H3a.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H3a); [ zenon_intro zenon_H37 | zenon_intro zenon_H3b ].
% 0.38/0.57  generalize (true_only_g zenon_TC_bj). zenon_intro zenon_H34.
% 0.38/0.57  generalize (zenon_H34 zenon_TA_h). zenon_intro zenon_H35.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H35); [ zenon_intro zenon_H33; zenon_intro zenon_H38 | zenon_intro zenon_H37; zenon_intro zenon_H36 ].
% 0.38/0.57  exact (zenon_H33 zenon_H37).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H36). zenon_intro zenon_H2a. zenon_intro zenon_H22.
% 0.38/0.57  apply (zenon_L25_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_H3b); [ zenon_intro zenon_H21 | zenon_intro zenon_H2b ].
% 0.38/0.57  apply (zenon_L6_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_L7_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply zenon_H7a. zenon_intro zenon_H48.
% 0.38/0.57  apply zenon_H76. exists zenon_TC_bj. apply NNPP. zenon_intro zenon_H78.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H78); [ zenon_intro zenon_H3d | zenon_intro zenon_H33 ].
% 0.38/0.57  apply (zenon_L21_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply (zenon_L9_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_L26_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  exact (zenon_H30 zenon_H2b).
% 0.38/0.57  exact (zenon_H4d zenon_H49).
% 0.38/0.57  (* end of lemma zenon_L27_ *)
% 0.38/0.57  assert (zenon_L28_ : forall (zenon_TA_h : zenon_U), (~(~(exists C : zenon_U, ((g_true_only zenon_TA_h C)/\(g_true_only C zenon_TA_h))))) -> (~(exists C : zenon_U, ((g_true_only zenon_TA_h C)/\(g_true_only C zenon_TA_h)))) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H6e zenon_H76.
% 0.38/0.57  exact (zenon_H6e zenon_H76).
% 0.38/0.57  (* end of lemma zenon_L28_ *)
% 0.38/0.57  assert (zenon_L29_ : forall (zenon_TA_h : zenon_U), (~(exists B : zenon_U, (((g_true_only B zenon_TA_h)/\(((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(((g_both B zenon_TA_h)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/((g_false_only B zenon_TA_h)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B))))))))))) -> (~(g_both zenon_TA_h zenon_TA_h)) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H53 zenon_H1f.
% 0.38/0.57  generalize (both_g zenon_TA_h). zenon_intro zenon_H1b.
% 0.38/0.57  generalize (zenon_H1b zenon_TA_h). zenon_intro zenon_H1c.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H1c); [ zenon_intro zenon_H1f; zenon_intro zenon_H1e | zenon_intro zenon_H1a; zenon_intro zenon_H1d ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H1e); [ zenon_intro zenon_Hd | zenon_intro zenon_H6 ].
% 0.38/0.57  apply zenon_H53. exists zenon_TA_h. apply NNPP. zenon_intro zenon_H7e.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H7e). zenon_intro zenon_H80. zenon_intro zenon_H7f.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H7f). zenon_intro zenon_H82. zenon_intro zenon_H81.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H80); [ zenon_intro zenon_H18 | zenon_intro zenon_H83 ].
% 0.38/0.57  generalize (true_only_g zenon_TA_h). zenon_intro zenon_H15.
% 0.38/0.57  generalize (zenon_H15 zenon_TA_h). zenon_intro zenon_H16.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H16); [ zenon_intro zenon_H18; zenon_intro zenon_H10 | zenon_intro zenon_H14; zenon_intro zenon_H17 ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H81); [ zenon_intro zenon_Hc | zenon_intro zenon_H84 ].
% 0.38/0.57  generalize (false_only_g zenon_TA_h). zenon_intro zenon_H8.
% 0.38/0.57  generalize (zenon_H8 zenon_TA_h). zenon_intro zenon_H9.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H9); [ zenon_intro zenon_Hc; zenon_intro zenon_Hb | zenon_intro zenon_H5; zenon_intro zenon_Ha ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_Hb); [ zenon_intro zenon_H6 | zenon_intro zenon_H20 ].
% 0.38/0.57  apply (zenon_L4_ zenon_TA_h); trivial.
% 0.38/0.57  exact (zenon_H20 zenon_Hd).
% 0.38/0.57  exact (zenon_Hc zenon_H5).
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H84). zenon_intro zenon_H7b. zenon_intro zenon_H85.
% 0.38/0.57  apply (zenon_notallex_s (fun C : zenon_U => ((g_false_only zenon_TA_h C)\/(g_false_only C zenon_TA_h))) zenon_H7b); [ zenon_intro zenon_H7c; idtac ].
% 0.38/0.57  elim zenon_H7c. zenon_intro zenon_TC_bj. zenon_intro zenon_H7d.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H7d). zenon_intro zenon_H4d. zenon_intro zenon_H30.
% 0.38/0.57  generalize (false_only_g zenon_TA_h). zenon_intro zenon_H8.
% 0.38/0.57  generalize (zenon_H8 zenon_TC_bj). zenon_intro zenon_H4a.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H4a); [ zenon_intro zenon_H4d; zenon_intro zenon_H4c | zenon_intro zenon_H49; zenon_intro zenon_H4b ].
% 0.38/0.57  generalize (false_only_g zenon_TC_bj). zenon_intro zenon_H2c.
% 0.38/0.57  generalize (zenon_H2c zenon_TA_h). zenon_intro zenon_H2d.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H2d); [ zenon_intro zenon_H30; zenon_intro zenon_H2f | zenon_intro zenon_H2b; zenon_intro zenon_H2e ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H2f); [ zenon_intro zenon_H22 | zenon_intro zenon_H79 ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H4c); [ zenon_intro zenon_H42 | zenon_intro zenon_H7a ].
% 0.38/0.57  apply (zenon_L15_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply zenon_H7a. zenon_intro zenon_H48.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H85); [ zenon_intro zenon_H6f | zenon_intro zenon_H6e ].
% 0.38/0.57  apply zenon_H6f. exists zenon_TC_bj. apply NNPP. zenon_intro zenon_H71.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H71); [ zenon_intro zenon_H73 | zenon_intro zenon_H72 ].
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H73). zenon_intro zenon_H46. zenon_intro zenon_H28.
% 0.38/0.57  generalize (both_g zenon_TA_h). zenon_intro zenon_H1b.
% 0.38/0.57  generalize (zenon_H1b zenon_TC_bj). zenon_intro zenon_H43.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H43); [ zenon_intro zenon_H46; zenon_intro zenon_H45 | zenon_intro zenon_H41; zenon_intro zenon_H44 ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H45); [ zenon_intro zenon_H4e | zenon_intro zenon_H42 ].
% 0.38/0.57  exact (zenon_H4e zenon_H48).
% 0.38/0.57  apply (zenon_L15_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  exact (zenon_H46 zenon_H41).
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H72); [ zenon_intro zenon_H75 | zenon_intro zenon_H74 ].
% 0.38/0.57  apply zenon_H75. zenon_intro zenon_H49.
% 0.38/0.57  apply (zenon_L16_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply zenon_H74. zenon_intro zenon_H2b.
% 0.38/0.57  apply (zenon_L7_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_L19_ zenon_TA_h); trivial.
% 0.38/0.57  apply zenon_H79. zenon_intro zenon_H2a.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H4c); [ zenon_intro zenon_H42 | zenon_intro zenon_H7a ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H85); [ zenon_intro zenon_H6f | zenon_intro zenon_H6e ].
% 0.38/0.57  apply zenon_H6f. exists zenon_TC_bj. apply NNPP. zenon_intro zenon_H71.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H71); [ zenon_intro zenon_H73 | zenon_intro zenon_H72 ].
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H73). zenon_intro zenon_H46. zenon_intro zenon_H28.
% 0.38/0.57  generalize (both_g zenon_TC_bj). zenon_intro zenon_H24.
% 0.38/0.57  generalize (zenon_H24 zenon_TA_h). zenon_intro zenon_H25.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H25); [ zenon_intro zenon_H28; zenon_intro zenon_H27 | zenon_intro zenon_H21; zenon_intro zenon_H26 ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H27); [ zenon_intro zenon_H31 | zenon_intro zenon_H22 ].
% 0.38/0.57  exact (zenon_H31 zenon_H2a).
% 0.38/0.57  apply zenon_H53. exists zenon_TC_bj. apply NNPP. zenon_intro zenon_H54.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H54). zenon_intro zenon_H56. zenon_intro zenon_H55.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H56); [ zenon_intro zenon_H33 | zenon_intro zenon_H57 ].
% 0.38/0.57  apply (zenon_L10_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H57). zenon_intro zenon_H58. zenon_intro zenon_H4f.
% 0.38/0.57  apply (zenon_L14_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  exact (zenon_H28 zenon_H21).
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H72); [ zenon_intro zenon_H75 | zenon_intro zenon_H74 ].
% 0.38/0.57  apply zenon_H75. zenon_intro zenon_H49.
% 0.38/0.57  apply (zenon_L13_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply zenon_H74. zenon_intro zenon_H2b.
% 0.38/0.57  apply (zenon_L20_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_L19_ zenon_TA_h); trivial.
% 0.38/0.57  apply zenon_H7a. zenon_intro zenon_H48.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H85); [ zenon_intro zenon_H6f | zenon_intro zenon_H6e ].
% 0.38/0.57  apply zenon_H6f. exists zenon_TC_bj. apply NNPP. zenon_intro zenon_H71.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H71); [ zenon_intro zenon_H73 | zenon_intro zenon_H72 ].
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H73). zenon_intro zenon_H46. zenon_intro zenon_H28.
% 0.38/0.57  generalize (both_g zenon_TC_bj). zenon_intro zenon_H24.
% 0.38/0.57  generalize (zenon_H24 zenon_TA_h). zenon_intro zenon_H25.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H25); [ zenon_intro zenon_H28; zenon_intro zenon_H27 | zenon_intro zenon_H21; zenon_intro zenon_H26 ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H27); [ zenon_intro zenon_H31 | zenon_intro zenon_H22 ].
% 0.38/0.57  exact (zenon_H31 zenon_H2a).
% 0.38/0.57  apply zenon_H53. exists zenon_TC_bj. apply NNPP. zenon_intro zenon_H54.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H54). zenon_intro zenon_H56. zenon_intro zenon_H55.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H56); [ zenon_intro zenon_H33 | zenon_intro zenon_H57 ].
% 0.38/0.57  apply (zenon_L10_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H57). zenon_intro zenon_H58. zenon_intro zenon_H4f.
% 0.38/0.57  apply zenon_H4f. exists zenon_TA_h. apply NNPP. zenon_intro zenon_H50.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H50); [ zenon_intro zenon_H33 | zenon_intro zenon_H3d ].
% 0.38/0.57  apply (zenon_L10_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_L21_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  exact (zenon_H28 zenon_H21).
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H72); [ zenon_intro zenon_H75 | zenon_intro zenon_H74 ].
% 0.38/0.57  apply zenon_H75. zenon_intro zenon_H49.
% 0.38/0.57  apply (zenon_L16_ zenon_TC_bj zenon_TA_h); trivial.
% 0.38/0.57  apply zenon_H74. zenon_intro zenon_H2b.
% 0.38/0.57  apply (zenon_L20_ zenon_TA_h zenon_TC_bj); trivial.
% 0.38/0.57  apply (zenon_L19_ zenon_TA_h); trivial.
% 0.38/0.57  exact (zenon_H30 zenon_H2b).
% 0.38/0.57  exact (zenon_H4d zenon_H49).
% 0.38/0.57  exact (zenon_H18 zenon_H14).
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H83). zenon_intro zenon_H85. zenon_intro zenon_H76.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H85); [ zenon_intro zenon_H6f | zenon_intro zenon_H6e ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H81); [ zenon_intro zenon_Hc | zenon_intro zenon_H84 ].
% 0.38/0.57  generalize (false_only_g zenon_TA_h). zenon_intro zenon_H8.
% 0.38/0.57  generalize (zenon_H8 zenon_TA_h). zenon_intro zenon_H9.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H9); [ zenon_intro zenon_Hc; zenon_intro zenon_Hb | zenon_intro zenon_H5; zenon_intro zenon_Ha ].
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_Hb); [ zenon_intro zenon_H6 | zenon_intro zenon_H20 ].
% 0.38/0.57  apply (zenon_L23_ zenon_TA_h); trivial.
% 0.38/0.57  exact (zenon_H20 zenon_Hd).
% 0.38/0.57  exact (zenon_Hc zenon_H5).
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H84). zenon_intro zenon_H7b. zenon_intro zenon_H85.
% 0.38/0.57  apply (zenon_L27_ zenon_TA_h); trivial.
% 0.38/0.57  exact (zenon_H6e zenon_H76).
% 0.38/0.57  apply zenon_H53. exists zenon_TA_h. apply NNPP. zenon_intro zenon_H7e.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H7e). zenon_intro zenon_H80. zenon_intro zenon_H7f.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H80); [ zenon_intro zenon_H18 | zenon_intro zenon_H83 ].
% 0.38/0.57  generalize (true_only_g zenon_TA_h). zenon_intro zenon_H15.
% 0.38/0.57  generalize (zenon_H15 zenon_TA_h). zenon_intro zenon_H16.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H16); [ zenon_intro zenon_H18; zenon_intro zenon_H10 | zenon_intro zenon_H14; zenon_intro zenon_H17 ].
% 0.38/0.57  apply (zenon_L4_ zenon_TA_h); trivial.
% 0.38/0.57  exact (zenon_H18 zenon_H14).
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H83). zenon_intro zenon_H85. zenon_intro zenon_H76.
% 0.38/0.57  apply (zenon_L23_ zenon_TA_h); trivial.
% 0.38/0.57  exact (zenon_H1f zenon_H1a).
% 0.38/0.57  (* end of lemma zenon_L29_ *)
% 0.38/0.57  assert (zenon_L30_ : forall (zenon_TA_h : zenon_U), (~((forall C : zenon_U, ((g_false_only zenon_TA_h C)\/(g_false_only C zenon_TA_h)))\/(exists C : zenon_U, ((g_true_only zenon_TA_h C)/\(g_true_only C zenon_TA_h))))) -> (~(exists C : zenon_U, ((g_true_only zenon_TA_h C)/\(g_true_only C zenon_TA_h)))) -> (~(exists C : zenon_U, (((g_both zenon_TA_h C)\/(g_both C zenon_TA_h))/\((~(g_false_only zenon_TA_h C))/\(~(g_false_only C zenon_TA_h)))))) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H86 zenon_H76 zenon_H6f.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H86). zenon_intro zenon_H7b. zenon_intro zenon_H76.
% 0.38/0.57  apply (zenon_L27_ zenon_TA_h); trivial.
% 0.38/0.57  (* end of lemma zenon_L30_ *)
% 0.38/0.57  assert (zenon_L31_ : forall (zenon_TA_fh : zenon_U), (g_false_only zenon_TA_fh zenon_TA_fh) -> (~(g_false zenon_TA_fh zenon_TA_fh)) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H87 zenon_H88.
% 0.38/0.57  generalize (false_only_g zenon_TA_fh). zenon_intro zenon_H8a.
% 0.38/0.57  generalize (zenon_H8a zenon_TA_fh). zenon_intro zenon_H8b.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H8b); [ zenon_intro zenon_H8e; zenon_intro zenon_H8d | zenon_intro zenon_H87; zenon_intro zenon_H8c ].
% 0.38/0.57  exact (zenon_H8e zenon_H87).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H8c). zenon_intro zenon_H90. zenon_intro zenon_H8f.
% 0.38/0.57  exact (zenon_H88 zenon_H90).
% 0.38/0.57  (* end of lemma zenon_L31_ *)
% 0.38/0.57  assert (zenon_L32_ : forall (zenon_TA_fh : zenon_U) (zenon_TC_fr : zenon_U), (g_false_only zenon_TC_fr zenon_TA_fh) -> (~(g_false zenon_TC_fr zenon_TA_fh)) -> False).
% 0.38/0.57  do 2 intro. intros zenon_H91 zenon_H92.
% 0.38/0.57  generalize (false_only_g zenon_TC_fr). zenon_intro zenon_H94.
% 0.38/0.57  generalize (zenon_H94 zenon_TA_fh). zenon_intro zenon_H95.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_H95); [ zenon_intro zenon_H98; zenon_intro zenon_H97 | zenon_intro zenon_H91; zenon_intro zenon_H96 ].
% 0.38/0.57  exact (zenon_H98 zenon_H91).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H96). zenon_intro zenon_H9a. zenon_intro zenon_H99.
% 0.38/0.57  exact (zenon_H92 zenon_H9a).
% 0.38/0.57  (* end of lemma zenon_L32_ *)
% 0.38/0.57  assert (zenon_L33_ : forall (zenon_TA_fh : zenon_U), (exists C : zenon_U, ((g_true_only zenon_TA_fh C)/\(g_true_only C zenon_TA_fh))) -> (forall B : zenon_U, (((g_true_only B zenon_TA_fh)/\(forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B))))\/((g_false_only B zenon_TA_fh)/\(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))) -> False).
% 0.38/0.57  do 1 intro. intros zenon_H9b zenon_H9c.
% 0.38/0.57  elim zenon_H9b. zenon_intro zenon_TC_fr. zenon_intro zenon_H9d.
% 0.38/0.57  apply (zenon_and_s _ _ zenon_H9d). zenon_intro zenon_H9f. zenon_intro zenon_H9e.
% 0.38/0.57  generalize (true_only_g zenon_TA_fh). zenon_intro zenon_Ha0.
% 0.38/0.57  generalize (zenon_Ha0 zenon_TC_fr). zenon_intro zenon_Ha1.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_Ha1); [ zenon_intro zenon_Ha4; zenon_intro zenon_Ha3 | zenon_intro zenon_H9f; zenon_intro zenon_Ha2 ].
% 0.38/0.57  exact (zenon_Ha4 zenon_H9f).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_Ha2). zenon_intro zenon_Ha6. zenon_intro zenon_Ha5.
% 0.38/0.57  generalize (true_only_g zenon_TC_fr). zenon_intro zenon_Ha7.
% 0.38/0.57  generalize (zenon_Ha7 zenon_TA_fh). zenon_intro zenon_Ha8.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_Ha8); [ zenon_intro zenon_Hab; zenon_intro zenon_Haa | zenon_intro zenon_H9e; zenon_intro zenon_Ha9 ].
% 0.38/0.57  exact (zenon_Hab zenon_H9e).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_Ha9). zenon_intro zenon_Hac. zenon_intro zenon_H92.
% 0.38/0.57  generalize (zenon_H9c zenon_TC_fr). zenon_intro zenon_Had.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_Had); [ zenon_intro zenon_Haf | zenon_intro zenon_Hae ].
% 0.38/0.57  apply (zenon_and_s _ _ zenon_Haf). zenon_intro zenon_H9e. zenon_intro zenon_Hb0.
% 0.38/0.57  generalize (zenon_Hb0 zenon_TA_fh). zenon_intro zenon_Hb1.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_Hb1); [ zenon_intro zenon_H91 | zenon_intro zenon_Hb2 ].
% 0.38/0.57  apply (zenon_L32_ zenon_TA_fh zenon_TC_fr); trivial.
% 0.38/0.57  generalize (false_only_g zenon_TA_fh). zenon_intro zenon_H8a.
% 0.38/0.57  generalize (zenon_H8a zenon_TC_fr). zenon_intro zenon_Hb3.
% 0.38/0.57  apply (zenon_equiv_s _ _ zenon_Hb3); [ zenon_intro zenon_Hb6; zenon_intro zenon_Hb5 | zenon_intro zenon_Hb2; zenon_intro zenon_Hb4 ].
% 0.38/0.57  exact (zenon_Hb6 zenon_Hb2).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_Hb4). zenon_intro zenon_Hb8. zenon_intro zenon_Hb7.
% 0.38/0.57  exact (zenon_Ha5 zenon_Hb8).
% 0.38/0.57  apply (zenon_and_s _ _ zenon_Hae). zenon_intro zenon_H91. zenon_intro zenon_Hb9.
% 0.38/0.57  apply (zenon_L32_ zenon_TA_fh zenon_TC_fr); trivial.
% 0.38/0.57  (* end of lemma zenon_L33_ *)
% 0.38/0.57  assert (zenon_L34_ : forall (zenon_TA_fh : zenon_U), ((g_false_only zenon_TA_fh zenon_TA_fh)/\(exists C : zenon_U, ((g_true_only zenon_TA_fh C)/\(g_true_only C zenon_TA_fh)))) -> (forall B : zenon_U, (((g_true_only B zenon_TA_fh)/\(forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B))))\/((g_false_only B zenon_TA_fh)/\(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))) -> False).
% 0.38/0.57  do 1 intro. intros zenon_Hba zenon_H9c.
% 0.38/0.57  apply (zenon_and_s _ _ zenon_Hba). zenon_intro zenon_H87. zenon_intro zenon_H9b.
% 0.38/0.57  apply (zenon_L33_ zenon_TA_fh); trivial.
% 0.38/0.57  (* end of lemma zenon_L34_ *)
% 0.38/0.57  apply NNPP. intro zenon_G.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_G). zenon_intro zenon_Hbc. zenon_intro zenon_Hbb.
% 0.38/0.57  apply (zenon_notallex_s (fun A : zenon_U => (exists B : zenon_U, (((g_true_only B A)/\(((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/(((g_both B A)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B)))))\/((g_false_only B A)/\((forall C : zenon_U, ((g_false_only B C)\/(g_false_only C B)))\/((exists C : zenon_U, (((g_both B C)\/(g_both C B))/\((~(g_false_only B C))/\(~(g_false_only C B)))))/\(~(exists C : zenon_U, ((g_true_only B C)/\(g_true_only C B))))))))))) zenon_Hbc); [ zenon_intro zenon_Hbd; idtac ].
% 0.38/0.57  elim zenon_Hbd. zenon_intro zenon_TA_h. zenon_intro zenon_H53.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_Hbb); [ zenon_intro zenon_Hbf | zenon_intro zenon_Hbe ].
% 0.38/0.57  apply zenon_Hbf. exists zenon_TA_h. apply NNPP. zenon_intro zenon_Hc0.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_Hc0); [ zenon_intro zenon_Hc2 | zenon_intro zenon_Hc1 ].
% 0.38/0.57  apply zenon_Hc2. exists zenon_TA_h. apply NNPP. zenon_intro zenon_Hc3.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_Hc3); [ zenon_intro zenon_H1f | zenon_intro zenon_H85 ].
% 0.38/0.57  apply (zenon_L29_ zenon_TA_h); trivial.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H85); [ zenon_intro zenon_H6f | zenon_intro zenon_H6e ].
% 0.38/0.57  apply zenon_H53. exists zenon_TA_h. apply NNPP. zenon_intro zenon_H7e.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H7e). zenon_intro zenon_H80. zenon_intro zenon_H7f.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H7f). zenon_intro zenon_H82. zenon_intro zenon_H81.
% 0.38/0.57  apply (zenon_notand_s _ _ zenon_H82); [ zenon_intro zenon_H1f | zenon_intro zenon_H86 ].
% 0.38/0.57  apply (zenon_L29_ zenon_TA_h); trivial.
% 0.38/0.57  apply (zenon_notor_s _ _ zenon_H86). zenon_intro zenon_H7b. zenon_intro zenon_H76.
% 0.38/0.57  apply (zenon_L30_ zenon_TA_h); trivial.
% 0.38/0.57  apply zenon_H6e. zenon_intro zenon_H60.
% 0.38/0.57  apply (zenon_L18_ zenon_TA_h); trivial.
% 0.38/0.57  exact (zenon_Hc1 zenon_H53).
% 0.38/0.57  apply zenon_Hbe. zenon_intro zenon_Hc4.
% 0.38/0.57  elim zenon_Hc4. zenon_intro zenon_TA_fh. zenon_intro zenon_H9c.
% 0.38/0.57  generalize (zenon_H9c zenon_TA_fh). zenon_intro zenon_Hc5.
% 0.38/0.57  apply (zenon_or_s _ _ zenon_Hc5); [ zenon_intro zenon_Hc6 | zenon_intro zenon_Hba ].
% 0.38/0.58  apply (zenon_and_s _ _ zenon_Hc6). zenon_intro zenon_Hc8. zenon_intro zenon_Hc7.
% 0.38/0.58  generalize (true_only_g zenon_TA_fh). zenon_intro zenon_Ha0.
% 0.38/0.58  generalize (zenon_Ha0 zenon_TA_fh). zenon_intro zenon_Hc9.
% 0.38/0.58  apply (zenon_equiv_s _ _ zenon_Hc9); [ zenon_intro zenon_Hcc; zenon_intro zenon_Hcb | zenon_intro zenon_Hc8; zenon_intro zenon_Hca ].
% 0.38/0.58  exact (zenon_Hcc zenon_Hc8).
% 0.38/0.58  apply (zenon_and_s _ _ zenon_Hca). zenon_intro zenon_Hcd. zenon_intro zenon_H88.
% 0.38/0.58  generalize (zenon_Hc7 zenon_TA_fh). zenon_intro zenon_Hce.
% 0.38/0.58  apply (zenon_or_s _ _ zenon_Hce); [ zenon_intro zenon_H87 | zenon_intro zenon_H87 ].
% 0.38/0.58  apply (zenon_L31_ zenon_TA_fh); trivial.
% 0.38/0.58  apply (zenon_L31_ zenon_TA_fh); trivial.
% 0.38/0.58  apply (zenon_L34_ zenon_TA_fh); trivial.
% 0.38/0.58  Qed.
% 0.38/0.58  % SZS output end Proof
% 0.38/0.58  (* END-PROOF *)
% 0.38/0.58  nodes searched: 3880
% 0.38/0.58  max branch formulas: 619
% 0.38/0.58  proof nodes created: 476
% 0.38/0.58  formulas created: 8911
% 0.38/0.58  
%------------------------------------------------------------------------------