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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Zenon---0.7.1
% Problem  : SYO606+1 : TPTP v8.1.0. Released v7.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_zenon %s %d

% Computer : n015.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:47 EDT 2022

% Result   : Theorem 0.19s 0.55s
% Output   : Proof 0.39s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : SYO606+1 : TPTP v8.1.0. Released v7.0.0.
% 0.03/0.12  % Command  : run_zenon %s %d
% 0.14/0.33  % Computer : n015.cluster.edu
% 0.14/0.33  % Model    : x86_64 x86_64
% 0.14/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.33  % Memory   : 8042.1875MB
% 0.14/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.33  % CPULimit : 300
% 0.14/0.33  % WCLimit  : 600
% 0.14/0.33  % DateTime : Fri Jul  8 21:57:21 EDT 2022
% 0.14/0.33  % CPUTime  : 
% 0.19/0.55  (* PROOF-FOUND *)
% 0.19/0.55  % SZS status Theorem
% 0.19/0.55  (* BEGIN-PROOF *)
% 0.19/0.55  % SZS output start Proof
% 0.19/0.55  Theorem nc5 : (((forall A : zenon_U, ((forall B : zenon_U, (g_false_only A B))\/(exists B : zenon_U, (h_true_only A B))))/\(forall A : zenon_U, (forall B : zenon_U, (exists C : zenon_U, ((g_false_only A B)\/(h_true_only A C))))))\/(((exists A : zenon_U, (((exists B : zenon_U, (g_true_only A B))/\(((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B))))\/(forall B : zenon_U, (h_false_only A B))))\/((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\(forall B : zenon_U, (h_false_only A B))))))/\(exists A : zenon_U, (exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C)))))))\/((exists A : zenon_U, ((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B)))))))/\((~(exists A : zenon_U, (((exists B : zenon_U, (g_true_only A B))/\(((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B))))\/(forall B : zenon_U, (h_false_only A B))))\/((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\(forall B : zenon_U, (h_false_only A B)))))))/\((exists A : zenon_U, ((exists B : zenon_U, ((exists C : zenon_U, ((g_both A B)/\(h_both A C)))/\(~(exists C : zenon_U, ((g_false_only A B)\/(h_true_only A C))))))/\(~(exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C))))))))/\(~(exists A : zenon_U, (exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C)))))))))))).
% 0.19/0.55  Proof.
% 0.19/0.55  assert (zenon_L1_ : forall (zenon_TB_p : zenon_U) (zenon_TA_q : zenon_U), ((g_true zenon_TA_q zenon_TB_p)/\(~(g_false zenon_TA_q zenon_TB_p))) -> (~(g_true_only zenon_TA_q zenon_TB_p)) -> False).
% 0.19/0.55  do 2 intro. intros zenon_Hd zenon_He.
% 0.19/0.55  generalize (true_only_g zenon_TA_q). zenon_intro zenon_H11.
% 0.19/0.55  generalize (zenon_H11 zenon_TB_p). zenon_intro zenon_H12.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H12); [ zenon_intro zenon_He; zenon_intro zenon_H14 | zenon_intro zenon_H13; zenon_intro zenon_Hd ].
% 0.19/0.55  exact (zenon_H14 zenon_Hd).
% 0.19/0.55  exact (zenon_He zenon_H13).
% 0.19/0.55  (* end of lemma zenon_L1_ *)
% 0.19/0.55  assert (zenon_L2_ : forall (zenon_TB_x : zenon_U) (zenon_TA_q : zenon_U), (~(~(h_false zenon_TA_q zenon_TB_x))) -> (~(h_false zenon_TA_q zenon_TB_x)) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H15 zenon_H16.
% 0.19/0.55  exact (zenon_H15 zenon_H16).
% 0.19/0.55  (* end of lemma zenon_L2_ *)
% 0.19/0.55  assert (zenon_L3_ : forall (zenon_TB_x : zenon_U) (zenon_TA_q : zenon_U), (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (~(h_false zenon_TA_q zenon_TB_x)) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H18 zenon_H16.
% 0.19/0.55  apply zenon_H18. exists zenon_TB_x. apply NNPP. zenon_intro zenon_H19.
% 0.19/0.55  generalize (true_only_h zenon_TA_q). zenon_intro zenon_H1a.
% 0.19/0.55  generalize (zenon_H1a zenon_TB_x). zenon_intro zenon_H1b.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H1b); [ zenon_intro zenon_H19; zenon_intro zenon_H1e | zenon_intro zenon_H1d; zenon_intro zenon_H1c ].
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H1e); [ zenon_intro zenon_H1f | zenon_intro zenon_H15 ].
% 0.19/0.55  generalize (exhaustion_h zenon_TA_q). zenon_intro zenon_H20.
% 0.19/0.55  generalize (zenon_H20 zenon_TB_x). zenon_intro zenon_H21.
% 0.19/0.55  apply (zenon_or_s _ _ zenon_H21); [ zenon_intro zenon_H1d | zenon_intro zenon_H22 ].
% 0.19/0.55  generalize (true_only_h zenon_TA_q). zenon_intro zenon_H1a.
% 0.19/0.55  generalize (zenon_H1a zenon_TB_x). zenon_intro zenon_H1b.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H1b); [ zenon_intro zenon_H19; zenon_intro zenon_H1e | zenon_intro zenon_H1d; zenon_intro zenon_H1c ].
% 0.19/0.55  exact (zenon_H19 zenon_H1d).
% 0.19/0.55  apply (zenon_and_s _ _ zenon_H1c). zenon_intro zenon_H23. zenon_intro zenon_H16.
% 0.19/0.55  exact (zenon_H1f zenon_H23).
% 0.19/0.55  apply (zenon_or_s _ _ zenon_H22); [ zenon_intro zenon_H25 | zenon_intro zenon_H24 ].
% 0.19/0.55  generalize (both_h zenon_TA_q). zenon_intro zenon_H26.
% 0.19/0.55  generalize (zenon_H26 zenon_TB_x). zenon_intro zenon_H27.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H27); [ zenon_intro zenon_H2a; zenon_intro zenon_H29 | zenon_intro zenon_H25; zenon_intro zenon_H28 ].
% 0.19/0.55  exact (zenon_H2a zenon_H25).
% 0.19/0.55  apply (zenon_and_s _ _ zenon_H28). zenon_intro zenon_H23. zenon_intro zenon_H2b.
% 0.19/0.55  exact (zenon_H1f zenon_H23).
% 0.19/0.55  generalize (false_only_h zenon_TA_q). zenon_intro zenon_H2c.
% 0.19/0.55  generalize (zenon_H2c zenon_TB_x). zenon_intro zenon_H2d.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H2d); [ zenon_intro zenon_H30; zenon_intro zenon_H2f | zenon_intro zenon_H24; zenon_intro zenon_H2e ].
% 0.19/0.55  exact (zenon_H30 zenon_H24).
% 0.19/0.55  apply (zenon_and_s _ _ zenon_H2e). zenon_intro zenon_H2b. zenon_intro zenon_H1f.
% 0.19/0.55  exact (zenon_H16 zenon_H2b).
% 0.19/0.55  exact (zenon_H15 zenon_H16).
% 0.19/0.55  exact (zenon_H19 zenon_H1d).
% 0.19/0.55  (* end of lemma zenon_L3_ *)
% 0.19/0.55  assert (zenon_L4_ : forall (zenon_TB_x : zenon_U) (zenon_TA_q : zenon_U), (h_true zenon_TA_q zenon_TB_x) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (~(h_both zenon_TA_q zenon_TB_x)) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H23 zenon_H18 zenon_H2a.
% 0.19/0.55  generalize (both_h zenon_TA_q). zenon_intro zenon_H26.
% 0.19/0.55  generalize (zenon_H26 zenon_TB_x). zenon_intro zenon_H27.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H27); [ zenon_intro zenon_H2a; zenon_intro zenon_H29 | zenon_intro zenon_H25; zenon_intro zenon_H28 ].
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H29); [ zenon_intro zenon_H1f | zenon_intro zenon_H16 ].
% 0.19/0.55  exact (zenon_H1f zenon_H23).
% 0.19/0.55  apply zenon_H18. exists zenon_TB_x. apply NNPP. zenon_intro zenon_H19.
% 0.19/0.55  generalize (true_only_h zenon_TA_q). zenon_intro zenon_H1a.
% 0.19/0.55  generalize (zenon_H1a zenon_TB_x). zenon_intro zenon_H1b.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H1b); [ zenon_intro zenon_H19; zenon_intro zenon_H1e | zenon_intro zenon_H1d; zenon_intro zenon_H1c ].
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H1e); [ zenon_intro zenon_H1f | zenon_intro zenon_H15 ].
% 0.19/0.55  exact (zenon_H1f zenon_H23).
% 0.19/0.55  exact (zenon_H15 zenon_H16).
% 0.19/0.55  exact (zenon_H19 zenon_H1d).
% 0.19/0.55  exact (zenon_H2a zenon_H25).
% 0.19/0.55  (* end of lemma zenon_L4_ *)
% 0.19/0.55  assert (zenon_L5_ : forall (zenon_TB_x : zenon_U) (zenon_TA_q : zenon_U), (~(exists B : zenon_U, (h_both zenon_TA_q B))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (h_true zenon_TA_q zenon_TB_x) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H31 zenon_H18 zenon_H23.
% 0.19/0.55  apply zenon_H31. exists zenon_TB_x. apply NNPP. zenon_intro zenon_H2a.
% 0.19/0.55  apply (zenon_L4_ zenon_TB_x zenon_TA_q); trivial.
% 0.19/0.55  (* end of lemma zenon_L5_ *)
% 0.19/0.55  assert (zenon_L6_ : forall (zenon_TA_q : zenon_U), (~(~(exists B : zenon_U, (h_true_only zenon_TA_q B)))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> False).
% 0.19/0.55  do 1 intro. intros zenon_H32 zenon_H18.
% 0.19/0.55  exact (zenon_H32 zenon_H18).
% 0.19/0.55  (* end of lemma zenon_L6_ *)
% 0.19/0.55  assert (zenon_L7_ : forall (zenon_TA_q : zenon_U), (~(((exists B : zenon_U, (h_both zenon_TA_q B))/\(~(exists B : zenon_U, (h_true_only zenon_TA_q B))))\/(forall B : zenon_U, (h_false_only zenon_TA_q B)))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> False).
% 0.19/0.55  do 1 intro. intros zenon_H33 zenon_H18.
% 0.19/0.55  apply (zenon_notor_s _ _ zenon_H33). zenon_intro zenon_H35. zenon_intro zenon_H34.
% 0.19/0.55  apply (zenon_notallex_s (fun B : zenon_U => (h_false_only zenon_TA_q B)) zenon_H34); [ zenon_intro zenon_H36; idtac ].
% 0.19/0.55  elim zenon_H36. zenon_intro zenon_TB_x. zenon_intro zenon_H30.
% 0.19/0.55  generalize (false_only_h zenon_TA_q). zenon_intro zenon_H2c.
% 0.19/0.55  generalize (zenon_H2c zenon_TB_x). zenon_intro zenon_H2d.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H2d); [ zenon_intro zenon_H30; zenon_intro zenon_H2f | zenon_intro zenon_H24; zenon_intro zenon_H2e ].
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H2f); [ zenon_intro zenon_H16 | zenon_intro zenon_H37 ].
% 0.19/0.55  apply (zenon_L3_ zenon_TB_x zenon_TA_q); trivial.
% 0.19/0.55  apply zenon_H37. zenon_intro zenon_H23.
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H35); [ zenon_intro zenon_H31 | zenon_intro zenon_H32 ].
% 0.19/0.55  apply (zenon_L5_ zenon_TB_x zenon_TA_q); trivial.
% 0.19/0.55  exact (zenon_H32 zenon_H18).
% 0.19/0.55  exact (zenon_H30 zenon_H24).
% 0.19/0.55  (* end of lemma zenon_L7_ *)
% 0.19/0.55  assert (zenon_L8_ : forall (zenon_TB_p : zenon_U) (zenon_TA_q : zenon_U), (g_true_only zenon_TA_q zenon_TB_p) -> (~(exists A : zenon_U, (((exists B : zenon_U, (g_true_only A B))/\(((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B))))\/(forall B : zenon_U, (h_false_only A B))))\/((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\(forall B : zenon_U, (h_false_only A B))))))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H13 zenon_H38 zenon_H18.
% 0.19/0.55  generalize (true_only_g zenon_TA_q). zenon_intro zenon_H11.
% 0.19/0.55  generalize (zenon_H11 zenon_TB_p). zenon_intro zenon_H12.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H12); [ zenon_intro zenon_He; zenon_intro zenon_H14 | zenon_intro zenon_H13; zenon_intro zenon_Hd ].
% 0.19/0.55  exact (zenon_He zenon_H13).
% 0.19/0.55  apply zenon_H38. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H39.
% 0.19/0.55  apply (zenon_notor_s _ _ zenon_H39). zenon_intro zenon_H3b. zenon_intro zenon_H3a.
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H3b); [ zenon_intro zenon_H3c | zenon_intro zenon_H33 ].
% 0.19/0.55  apply zenon_H3c. exists zenon_TB_p. apply NNPP. zenon_intro zenon_He.
% 0.19/0.55  apply (zenon_L1_ zenon_TB_p zenon_TA_q); trivial.
% 0.19/0.55  apply (zenon_L7_ zenon_TA_q); trivial.
% 0.19/0.55  (* end of lemma zenon_L8_ *)
% 0.19/0.55  assert (zenon_L9_ : forall (zenon_TB_p : zenon_U) (zenon_TA_q : zenon_U), (g_both zenon_TA_q zenon_TB_p) -> (~(g_false zenon_TA_q zenon_TB_p)) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H3d zenon_H3e.
% 0.19/0.55  generalize (both_g zenon_TA_q). zenon_intro zenon_H3f.
% 0.19/0.55  generalize (zenon_H3f zenon_TB_p). zenon_intro zenon_H40.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H40); [ zenon_intro zenon_H43; zenon_intro zenon_H42 | zenon_intro zenon_H3d; zenon_intro zenon_H41 ].
% 0.19/0.55  exact (zenon_H43 zenon_H3d).
% 0.19/0.55  apply (zenon_and_s _ _ zenon_H41). zenon_intro zenon_H45. zenon_intro zenon_H44.
% 0.19/0.55  exact (zenon_H3e zenon_H44).
% 0.19/0.55  (* end of lemma zenon_L9_ *)
% 0.19/0.55  assert (zenon_L10_ : forall (zenon_TB_p : zenon_U) (zenon_TA_q : zenon_U), (g_false_only zenon_TA_q zenon_TB_p) -> (~(g_false zenon_TA_q zenon_TB_p)) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H46 zenon_H3e.
% 0.19/0.55  generalize (false_only_g zenon_TA_q). zenon_intro zenon_H47.
% 0.19/0.55  generalize (zenon_H47 zenon_TB_p). zenon_intro zenon_H48.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H48); [ zenon_intro zenon_H4b; zenon_intro zenon_H4a | zenon_intro zenon_H46; zenon_intro zenon_H49 ].
% 0.19/0.55  exact (zenon_H4b zenon_H46).
% 0.19/0.55  apply (zenon_and_s _ _ zenon_H49). zenon_intro zenon_H44. zenon_intro zenon_H4c.
% 0.19/0.55  exact (zenon_H3e zenon_H44).
% 0.19/0.55  (* end of lemma zenon_L10_ *)
% 0.19/0.55  assert (zenon_L11_ : forall (zenon_TC_db : zenon_U) (zenon_TA_q : zenon_U), (forall X_1 : zenon_U, ((h_true_only zenon_TA_q X_1)\/((h_both zenon_TA_q X_1)\/(h_false_only zenon_TA_q X_1)))) -> (~(h_true zenon_TA_q zenon_TC_db)) -> (~(h_false zenon_TA_q zenon_TC_db)) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H20 zenon_H4d zenon_H4e.
% 0.19/0.55  generalize (zenon_H20 zenon_TC_db). zenon_intro zenon_H50.
% 0.19/0.55  apply (zenon_or_s _ _ zenon_H50); [ zenon_intro zenon_H52 | zenon_intro zenon_H51 ].
% 0.19/0.55  generalize (true_only_h zenon_TA_q). zenon_intro zenon_H1a.
% 0.19/0.55  generalize (zenon_H1a zenon_TC_db). zenon_intro zenon_H53.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H53); [ zenon_intro zenon_H56; zenon_intro zenon_H55 | zenon_intro zenon_H52; zenon_intro zenon_H54 ].
% 0.19/0.55  exact (zenon_H56 zenon_H52).
% 0.19/0.55  apply (zenon_and_s _ _ zenon_H54). zenon_intro zenon_H57. zenon_intro zenon_H4e.
% 0.19/0.55  exact (zenon_H4d zenon_H57).
% 0.19/0.55  apply (zenon_or_s _ _ zenon_H51); [ zenon_intro zenon_H59 | zenon_intro zenon_H58 ].
% 0.19/0.55  generalize (both_h zenon_TA_q). zenon_intro zenon_H26.
% 0.19/0.55  generalize (zenon_H26 zenon_TC_db). zenon_intro zenon_H5a.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H5a); [ zenon_intro zenon_H5d; zenon_intro zenon_H5c | zenon_intro zenon_H59; zenon_intro zenon_H5b ].
% 0.19/0.55  exact (zenon_H5d zenon_H59).
% 0.19/0.55  apply (zenon_and_s _ _ zenon_H5b). zenon_intro zenon_H57. zenon_intro zenon_H5e.
% 0.19/0.55  exact (zenon_H4d zenon_H57).
% 0.19/0.55  generalize (false_only_h zenon_TA_q). zenon_intro zenon_H2c.
% 0.19/0.55  generalize (zenon_H2c zenon_TC_db). zenon_intro zenon_H5f.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H5f); [ zenon_intro zenon_H62; zenon_intro zenon_H61 | zenon_intro zenon_H58; zenon_intro zenon_H60 ].
% 0.19/0.55  exact (zenon_H62 zenon_H58).
% 0.19/0.55  apply (zenon_and_s _ _ zenon_H60). zenon_intro zenon_H5e. zenon_intro zenon_H4d.
% 0.19/0.55  exact (zenon_H4e zenon_H5e).
% 0.19/0.55  (* end of lemma zenon_L11_ *)
% 0.19/0.55  assert (zenon_L12_ : forall (zenon_TC_db : zenon_U) (zenon_TA_q : zenon_U), (~(~(h_false zenon_TA_q zenon_TC_db))) -> (~(h_false zenon_TA_q zenon_TC_db)) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H63 zenon_H4e.
% 0.19/0.55  exact (zenon_H63 zenon_H4e).
% 0.19/0.55  (* end of lemma zenon_L12_ *)
% 0.19/0.55  assert (zenon_L13_ : forall (zenon_TC_db : zenon_U) (zenon_TA_q : zenon_U), (~(~(h_true zenon_TA_q zenon_TC_db))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (~((h_true zenon_TA_q zenon_TC_db)/\(h_false zenon_TA_q zenon_TC_db))) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H64 zenon_H18 zenon_H5c.
% 0.19/0.55  apply zenon_H64. zenon_intro zenon_H57.
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H5c); [ zenon_intro zenon_H4d | zenon_intro zenon_H4e ].
% 0.19/0.55  exact (zenon_H4d zenon_H57).
% 0.19/0.55  apply zenon_H18. exists zenon_TC_db. apply NNPP. zenon_intro zenon_H56.
% 0.19/0.55  generalize (true_only_h zenon_TA_q). zenon_intro zenon_H1a.
% 0.19/0.55  generalize (zenon_H1a zenon_TC_db). zenon_intro zenon_H53.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H53); [ zenon_intro zenon_H56; zenon_intro zenon_H55 | zenon_intro zenon_H52; zenon_intro zenon_H54 ].
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H55); [ zenon_intro zenon_H4d | zenon_intro zenon_H63 ].
% 0.19/0.55  exact (zenon_H4d zenon_H57).
% 0.19/0.55  exact (zenon_H63 zenon_H4e).
% 0.19/0.55  exact (zenon_H56 zenon_H52).
% 0.19/0.55  (* end of lemma zenon_L13_ *)
% 0.19/0.55  assert (zenon_L14_ : forall (zenon_TC_db : zenon_U) (zenon_TA_q : zenon_U), (forall X_1 : zenon_U, ((h_true_only zenon_TA_q X_1)\/((h_both zenon_TA_q X_1)\/(h_false_only zenon_TA_q X_1)))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (~(h_false_only zenon_TA_q zenon_TC_db)) -> (~(h_both zenon_TA_q zenon_TC_db)) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H20 zenon_H18 zenon_H62 zenon_H5d.
% 0.19/0.55  generalize (both_h zenon_TA_q). zenon_intro zenon_H26.
% 0.19/0.55  generalize (zenon_H26 zenon_TC_db). zenon_intro zenon_H5a.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H5a); [ zenon_intro zenon_H5d; zenon_intro zenon_H5c | zenon_intro zenon_H59; zenon_intro zenon_H5b ].
% 0.19/0.55  generalize (false_only_h zenon_TA_q). zenon_intro zenon_H2c.
% 0.19/0.55  generalize (zenon_H2c zenon_TC_db). zenon_intro zenon_H5f.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H5f); [ zenon_intro zenon_H62; zenon_intro zenon_H61 | zenon_intro zenon_H58; zenon_intro zenon_H60 ].
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H61); [ zenon_intro zenon_H4e | zenon_intro zenon_H64 ].
% 0.19/0.55  apply zenon_H18. exists zenon_TC_db. apply NNPP. zenon_intro zenon_H56.
% 0.19/0.55  generalize (true_only_h zenon_TA_q). zenon_intro zenon_H1a.
% 0.19/0.55  generalize (zenon_H1a zenon_TC_db). zenon_intro zenon_H53.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H53); [ zenon_intro zenon_H56; zenon_intro zenon_H55 | zenon_intro zenon_H52; zenon_intro zenon_H54 ].
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H55); [ zenon_intro zenon_H4d | zenon_intro zenon_H63 ].
% 0.19/0.55  apply (zenon_L11_ zenon_TC_db zenon_TA_q); trivial.
% 0.19/0.55  exact (zenon_H63 zenon_H4e).
% 0.19/0.55  exact (zenon_H56 zenon_H52).
% 0.19/0.55  apply (zenon_L13_ zenon_TC_db zenon_TA_q); trivial.
% 0.19/0.55  exact (zenon_H62 zenon_H58).
% 0.19/0.55  exact (zenon_H5d zenon_H59).
% 0.19/0.55  (* end of lemma zenon_L14_ *)
% 0.19/0.55  assert (zenon_L15_ : forall (zenon_TC_db : zenon_U) (zenon_TA_q : zenon_U), (~((h_both zenon_TA_q zenon_TC_db)\/(h_false_only zenon_TA_q zenon_TC_db))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (forall X_1 : zenon_U, ((h_true_only zenon_TA_q X_1)\/((h_both zenon_TA_q X_1)\/(h_false_only zenon_TA_q X_1)))) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H65 zenon_H18 zenon_H20.
% 0.19/0.55  apply (zenon_notor_s _ _ zenon_H65). zenon_intro zenon_H5d. zenon_intro zenon_H62.
% 0.19/0.55  apply (zenon_L14_ zenon_TC_db zenon_TA_q); trivial.
% 0.19/0.55  (* end of lemma zenon_L15_ *)
% 0.19/0.55  assert (zenon_L16_ : forall (zenon_TB_p : zenon_U) (zenon_TA_q : zenon_U), (g_true_only zenon_TA_q zenon_TB_p) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (~(exists A : zenon_U, (exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C))))))) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H13 zenon_H18 zenon_H66.
% 0.19/0.55  generalize (true_only_g zenon_TA_q). zenon_intro zenon_H11.
% 0.19/0.55  generalize (zenon_H11 zenon_TB_p). zenon_intro zenon_H12.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H12); [ zenon_intro zenon_He; zenon_intro zenon_H14 | zenon_intro zenon_H13; zenon_intro zenon_Hd ].
% 0.19/0.55  exact (zenon_He zenon_H13).
% 0.19/0.55  generalize (exhaustion_h zenon_TA_q). zenon_intro zenon_H20.
% 0.19/0.55  apply zenon_H66. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H67.
% 0.19/0.55  apply zenon_H67. exists zenon_TB_p. apply NNPP. zenon_intro zenon_H68.
% 0.19/0.55  apply (zenon_notallex_s (fun C : zenon_U => (((g_true_only zenon_TA_q zenon_TB_p)/\((h_both zenon_TA_q C)\/(h_false_only zenon_TA_q C)))\/((g_both zenon_TA_q zenon_TB_p)/\(h_false_only zenon_TA_q C)))) zenon_H68); [ zenon_intro zenon_H69; idtac ].
% 0.19/0.55  elim zenon_H69. zenon_intro zenon_TC_db. zenon_intro zenon_H6a.
% 0.19/0.55  apply (zenon_notor_s _ _ zenon_H6a). zenon_intro zenon_H6c. zenon_intro zenon_H6b.
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H6c); [ zenon_intro zenon_He | zenon_intro zenon_H65 ].
% 0.19/0.55  apply (zenon_L1_ zenon_TB_p zenon_TA_q); trivial.
% 0.19/0.55  apply (zenon_L15_ zenon_TC_db zenon_TA_q); trivial.
% 0.19/0.55  (* end of lemma zenon_L16_ *)
% 0.19/0.55  assert (zenon_L17_ : forall (zenon_TB_p : zenon_U) (zenon_TA_q : zenon_U), ((g_true zenon_TA_q zenon_TB_p)/\(g_false zenon_TA_q zenon_TB_p)) -> (~(g_both zenon_TA_q zenon_TB_p)) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H41 zenon_H43.
% 0.19/0.55  generalize (both_g zenon_TA_q). zenon_intro zenon_H3f.
% 0.19/0.55  generalize (zenon_H3f zenon_TB_p). zenon_intro zenon_H40.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H40); [ zenon_intro zenon_H43; zenon_intro zenon_H42 | zenon_intro zenon_H3d; zenon_intro zenon_H41 ].
% 0.19/0.55  exact (zenon_H42 zenon_H41).
% 0.19/0.55  exact (zenon_H43 zenon_H3d).
% 0.19/0.55  (* end of lemma zenon_L17_ *)
% 0.19/0.55  assert (zenon_L18_ : forall (zenon_TB_p : zenon_U) (zenon_TA_q : zenon_U), (~(exists B : zenon_U, (g_both zenon_TA_q B))) -> ((g_true zenon_TA_q zenon_TB_p)/\(g_false zenon_TA_q zenon_TB_p)) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H6d zenon_H41.
% 0.19/0.55  apply zenon_H6d. exists zenon_TB_p. apply NNPP. zenon_intro zenon_H43.
% 0.19/0.55  apply (zenon_L17_ zenon_TB_p zenon_TA_q); trivial.
% 0.19/0.55  (* end of lemma zenon_L18_ *)
% 0.19/0.55  assert (zenon_L19_ : forall (zenon_TA_q : zenon_U), (~((exists B : zenon_U, (g_true_only zenon_TA_q B))/\(((exists B : zenon_U, (h_both zenon_TA_q B))/\(~(exists B : zenon_U, (h_true_only zenon_TA_q B))))\/(forall B : zenon_U, (h_false_only zenon_TA_q B))))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (exists B : zenon_U, (g_true_only zenon_TA_q B)) -> False).
% 0.19/0.55  do 1 intro. intros zenon_H3b zenon_H18 zenon_H6e.
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H3b); [ zenon_intro zenon_H3c | zenon_intro zenon_H33 ].
% 0.19/0.55  exact (zenon_H3c zenon_H6e).
% 0.19/0.55  apply (zenon_L7_ zenon_TA_q); trivial.
% 0.19/0.55  (* end of lemma zenon_L19_ *)
% 0.19/0.55  assert (zenon_L20_ : forall (zenon_TA_q : zenon_U), (~(exists A : zenon_U, (((exists B : zenon_U, (g_true_only A B))/\(((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B))))\/(forall B : zenon_U, (h_false_only A B))))\/((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\(forall B : zenon_U, (h_false_only A B))))))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (exists B : zenon_U, (g_true_only zenon_TA_q B)) -> False).
% 0.19/0.55  do 1 intro. intros zenon_H38 zenon_H18 zenon_H6e.
% 0.19/0.55  apply zenon_H38. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H39.
% 0.19/0.55  apply (zenon_notor_s _ _ zenon_H39). zenon_intro zenon_H3b. zenon_intro zenon_H3a.
% 0.19/0.55  apply (zenon_L19_ zenon_TA_q); trivial.
% 0.19/0.55  (* end of lemma zenon_L20_ *)
% 0.19/0.55  assert (zenon_L21_ : forall (zenon_TA_q : zenon_U), (~(forall B : zenon_U, (h_false_only zenon_TA_q B))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (~(exists B : zenon_U, (h_both zenon_TA_q B))) -> False).
% 0.19/0.55  do 1 intro. intros zenon_H34 zenon_H18 zenon_H31.
% 0.19/0.55  apply (zenon_notallex_s (fun B : zenon_U => (h_false_only zenon_TA_q B)) zenon_H34); [ zenon_intro zenon_H36; idtac ].
% 0.19/0.55  elim zenon_H36. zenon_intro zenon_TB_x. zenon_intro zenon_H30.
% 0.19/0.55  generalize (false_only_h zenon_TA_q). zenon_intro zenon_H2c.
% 0.19/0.55  generalize (zenon_H2c zenon_TB_x). zenon_intro zenon_H2d.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H2d); [ zenon_intro zenon_H30; zenon_intro zenon_H2f | zenon_intro zenon_H24; zenon_intro zenon_H2e ].
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H2f); [ zenon_intro zenon_H16 | zenon_intro zenon_H37 ].
% 0.19/0.55  apply (zenon_L3_ zenon_TB_x zenon_TA_q); trivial.
% 0.19/0.55  apply zenon_H37. zenon_intro zenon_H23.
% 0.19/0.55  apply (zenon_L5_ zenon_TB_x zenon_TA_q); trivial.
% 0.19/0.55  exact (zenon_H30 zenon_H24).
% 0.19/0.55  (* end of lemma zenon_L21_ *)
% 0.19/0.55  assert (zenon_L22_ : forall (zenon_TB_p : zenon_U) (zenon_TA_q : zenon_U), (g_both zenon_TA_q zenon_TB_p) -> (~(exists A : zenon_U, ((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B)))))))) -> (~(exists A : zenon_U, (((exists B : zenon_U, (g_true_only A B))/\(((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B))))\/(forall B : zenon_U, (h_false_only A B))))\/((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\(forall B : zenon_U, (h_false_only A B))))))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H3d zenon_H6f zenon_H38 zenon_H18.
% 0.19/0.55  generalize (both_g zenon_TA_q). zenon_intro zenon_H3f.
% 0.19/0.55  generalize (zenon_H3f zenon_TB_p). zenon_intro zenon_H40.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H40); [ zenon_intro zenon_H43; zenon_intro zenon_H42 | zenon_intro zenon_H3d; zenon_intro zenon_H41 ].
% 0.19/0.55  exact (zenon_H43 zenon_H3d).
% 0.19/0.55  apply zenon_H6f. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H70.
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H70); [ zenon_intro zenon_H6d | zenon_intro zenon_H71 ].
% 0.19/0.55  apply (zenon_L18_ zenon_TB_p zenon_TA_q); trivial.
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H71); [ zenon_intro zenon_H72 | zenon_intro zenon_H35 ].
% 0.19/0.55  apply zenon_H72. zenon_intro zenon_H6e.
% 0.19/0.55  apply (zenon_L20_ zenon_TA_q); trivial.
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H35); [ zenon_intro zenon_H31 | zenon_intro zenon_H32 ].
% 0.19/0.55  apply zenon_H38. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H39.
% 0.19/0.55  apply (zenon_notor_s _ _ zenon_H39). zenon_intro zenon_H3b. zenon_intro zenon_H3a.
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H3a); [ zenon_intro zenon_H6d | zenon_intro zenon_H73 ].
% 0.19/0.55  apply (zenon_L18_ zenon_TB_p zenon_TA_q); trivial.
% 0.19/0.55  apply (zenon_notand_s _ _ zenon_H73); [ zenon_intro zenon_H72 | zenon_intro zenon_H34 ].
% 0.19/0.55  apply zenon_H72. zenon_intro zenon_H6e.
% 0.19/0.55  apply (zenon_L19_ zenon_TA_q); trivial.
% 0.19/0.55  apply (zenon_L21_ zenon_TA_q); trivial.
% 0.19/0.55  exact (zenon_H32 zenon_H18).
% 0.19/0.55  (* end of lemma zenon_L22_ *)
% 0.19/0.55  assert (zenon_L23_ : forall (zenon_TB_p : zenon_U) (zenon_TA_q : zenon_U), (g_false_only zenon_TA_q zenon_TB_p) -> (g_true zenon_TA_q zenon_TB_p) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H46 zenon_H45.
% 0.19/0.55  generalize (false_only_g zenon_TA_q). zenon_intro zenon_H47.
% 0.19/0.55  generalize (zenon_H47 zenon_TB_p). zenon_intro zenon_H48.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H48); [ zenon_intro zenon_H4b; zenon_intro zenon_H4a | zenon_intro zenon_H46; zenon_intro zenon_H49 ].
% 0.19/0.55  exact (zenon_H4b zenon_H46).
% 0.19/0.55  apply (zenon_and_s _ _ zenon_H49). zenon_intro zenon_H44. zenon_intro zenon_H4c.
% 0.19/0.55  exact (zenon_H4c zenon_H45).
% 0.19/0.55  (* end of lemma zenon_L23_ *)
% 0.19/0.55  assert (zenon_L24_ : forall (zenon_TB_p : zenon_U) (zenon_TA_q : zenon_U), (~(~(exists C : zenon_U, ((g_false_only zenon_TA_q zenon_TB_p)\/(h_true_only zenon_TA_q C))))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (g_true zenon_TA_q zenon_TB_p) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H74 zenon_H18 zenon_H45.
% 0.19/0.55  apply zenon_H74. zenon_intro zenon_H75.
% 0.19/0.55  elim zenon_H75. zenon_intro zenon_TC_eo. zenon_intro zenon_H77.
% 0.19/0.55  apply (zenon_or_s _ _ zenon_H77); [ zenon_intro zenon_H46 | zenon_intro zenon_H78 ].
% 0.19/0.55  apply (zenon_L23_ zenon_TB_p zenon_TA_q); trivial.
% 0.19/0.55  generalize (true_only_h zenon_TA_q). zenon_intro zenon_H1a.
% 0.19/0.55  generalize (zenon_H1a zenon_TC_eo). zenon_intro zenon_H79.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H79); [ zenon_intro zenon_H7c; zenon_intro zenon_H7b | zenon_intro zenon_H78; zenon_intro zenon_H7a ].
% 0.19/0.55  exact (zenon_H7c zenon_H78).
% 0.19/0.55  apply zenon_H18. exists zenon_TC_eo. apply NNPP. zenon_intro zenon_H7c.
% 0.19/0.55  generalize (true_only_h zenon_TA_q). zenon_intro zenon_H1a.
% 0.19/0.55  generalize (zenon_H1a zenon_TC_eo). zenon_intro zenon_H79.
% 0.19/0.55  apply (zenon_equiv_s _ _ zenon_H79); [ zenon_intro zenon_H7c; zenon_intro zenon_H7b | zenon_intro zenon_H78; zenon_intro zenon_H7a ].
% 0.19/0.55  exact (zenon_H7b zenon_H7a).
% 0.19/0.55  exact (zenon_H7c zenon_H78).
% 0.19/0.55  (* end of lemma zenon_L24_ *)
% 0.19/0.55  assert (zenon_L25_ : forall (zenon_TB_x : zenon_U) (zenon_TA_q : zenon_U), (h_false_only zenon_TA_q zenon_TB_x) -> (h_true zenon_TA_q zenon_TB_x) -> False).
% 0.19/0.55  do 2 intro. intros zenon_H24 zenon_H23.
% 0.19/0.55  generalize (false_only_h zenon_TA_q). zenon_intro zenon_H2c.
% 0.39/0.55  generalize (zenon_H2c zenon_TB_x). zenon_intro zenon_H2d.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_H2d); [ zenon_intro zenon_H30; zenon_intro zenon_H2f | zenon_intro zenon_H24; zenon_intro zenon_H2e ].
% 0.39/0.55  exact (zenon_H30 zenon_H24).
% 0.39/0.55  apply (zenon_and_s _ _ zenon_H2e). zenon_intro zenon_H2b. zenon_intro zenon_H1f.
% 0.39/0.55  exact (zenon_H1f zenon_H23).
% 0.39/0.55  (* end of lemma zenon_L25_ *)
% 0.39/0.55  assert (zenon_L26_ : forall (zenon_TB_x : zenon_U) (zenon_TB_ew : zenon_U) (zenon_TA_q : zenon_U), ((g_both zenon_TA_q zenon_TB_ew)/\(h_false_only zenon_TA_q zenon_TB_x)) -> (h_true zenon_TA_q zenon_TB_x) -> False).
% 0.39/0.55  do 3 intro. intros zenon_H7d zenon_H23.
% 0.39/0.55  apply (zenon_and_s _ _ zenon_H7d). zenon_intro zenon_H7f. zenon_intro zenon_H24.
% 0.39/0.55  apply (zenon_L25_ zenon_TB_x zenon_TA_q); trivial.
% 0.39/0.55  (* end of lemma zenon_L26_ *)
% 0.39/0.55  assert (zenon_L27_ : forall (zenon_TB_fa : zenon_U) (zenon_TA_fb : zenon_U), (h_both zenon_TA_fb zenon_TB_fa) -> (~(exists B : zenon_U, (h_both zenon_TA_fb B))) -> False).
% 0.39/0.55  do 2 intro. intros zenon_H80 zenon_H81.
% 0.39/0.55  generalize (both_h zenon_TA_fb). zenon_intro zenon_H84.
% 0.39/0.55  generalize (zenon_H84 zenon_TB_fa). zenon_intro zenon_H85.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_H85); [ zenon_intro zenon_H88; zenon_intro zenon_H87 | zenon_intro zenon_H80; zenon_intro zenon_H86 ].
% 0.39/0.55  exact (zenon_H88 zenon_H80).
% 0.39/0.55  apply zenon_H81. exists zenon_TB_fa. apply NNPP. zenon_intro zenon_H88.
% 0.39/0.55  generalize (both_h zenon_TA_fb). zenon_intro zenon_H84.
% 0.39/0.55  generalize (zenon_H84 zenon_TB_fa). zenon_intro zenon_H85.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_H85); [ zenon_intro zenon_H88; zenon_intro zenon_H87 | zenon_intro zenon_H80; zenon_intro zenon_H86 ].
% 0.39/0.55  exact (zenon_H87 zenon_H86).
% 0.39/0.55  exact (zenon_H88 zenon_H80).
% 0.39/0.55  (* end of lemma zenon_L27_ *)
% 0.39/0.55  assert (zenon_L28_ : forall (zenon_TB_fa : zenon_U) (zenon_TA_fb : zenon_U), (h_false_only zenon_TA_fb zenon_TB_fa) -> (~(h_false zenon_TA_fb zenon_TB_fa)) -> False).
% 0.39/0.55  do 2 intro. intros zenon_H89 zenon_H8a.
% 0.39/0.55  generalize (false_only_h zenon_TA_fb). zenon_intro zenon_H8b.
% 0.39/0.55  generalize (zenon_H8b zenon_TB_fa). zenon_intro zenon_H8c.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_H8c); [ zenon_intro zenon_H8f; zenon_intro zenon_H8e | zenon_intro zenon_H89; zenon_intro zenon_H8d ].
% 0.39/0.55  exact (zenon_H8f zenon_H89).
% 0.39/0.55  apply (zenon_and_s _ _ zenon_H8d). zenon_intro zenon_H91. zenon_intro zenon_H90.
% 0.39/0.55  exact (zenon_H8a zenon_H91).
% 0.39/0.55  (* end of lemma zenon_L28_ *)
% 0.39/0.55  assert (zenon_L29_ : forall (zenon_TB_fa : zenon_U) (zenon_TB_fr : zenon_U) (zenon_TA_fb : zenon_U), ((g_both zenon_TA_fb zenon_TB_fr)/\(h_false_only zenon_TA_fb zenon_TB_fa)) -> (~(h_false zenon_TA_fb zenon_TB_fa)) -> False).
% 0.39/0.55  do 3 intro. intros zenon_H92 zenon_H8a.
% 0.39/0.55  apply (zenon_and_s _ _ zenon_H92). zenon_intro zenon_H94. zenon_intro zenon_H89.
% 0.39/0.55  apply (zenon_L28_ zenon_TB_fa zenon_TA_fb); trivial.
% 0.39/0.55  (* end of lemma zenon_L29_ *)
% 0.39/0.55  assert (zenon_L30_ : forall (zenon_TB_fv : zenon_U) (zenon_TA_fb : zenon_U), (h_false_only zenon_TA_fb zenon_TB_fv) -> (~(h_false zenon_TA_fb zenon_TB_fv)) -> False).
% 0.39/0.55  do 2 intro. intros zenon_H95 zenon_H96.
% 0.39/0.55  generalize (false_only_h zenon_TA_fb). zenon_intro zenon_H8b.
% 0.39/0.55  generalize (zenon_H8b zenon_TB_fv). zenon_intro zenon_H98.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_H98); [ zenon_intro zenon_H9b; zenon_intro zenon_H9a | zenon_intro zenon_H95; zenon_intro zenon_H99 ].
% 0.39/0.55  exact (zenon_H9b zenon_H95).
% 0.39/0.55  apply (zenon_and_s _ _ zenon_H99). zenon_intro zenon_H9d. zenon_intro zenon_H9c.
% 0.39/0.55  exact (zenon_H96 zenon_H9d).
% 0.39/0.55  (* end of lemma zenon_L30_ *)
% 0.39/0.55  assert (zenon_L31_ : forall (zenon_TB_fv : zenon_U) (zenon_TB_fr : zenon_U) (zenon_TA_fb : zenon_U), ((g_both zenon_TA_fb zenon_TB_fr)/\(h_false_only zenon_TA_fb zenon_TB_fv)) -> (~(h_false zenon_TA_fb zenon_TB_fv)) -> False).
% 0.39/0.55  do 3 intro. intros zenon_H9e zenon_H96.
% 0.39/0.55  apply (zenon_and_s _ _ zenon_H9e). zenon_intro zenon_H94. zenon_intro zenon_H95.
% 0.39/0.55  apply (zenon_L30_ zenon_TB_fv zenon_TA_fb); trivial.
% 0.39/0.55  (* end of lemma zenon_L31_ *)
% 0.39/0.55  assert (zenon_L32_ : forall (zenon_TB_fr : zenon_U) (zenon_TA_fb : zenon_U), (~(~(exists B : zenon_U, (h_true_only zenon_TA_fb B)))) -> (forall C : zenon_U, (((g_true_only zenon_TA_fb zenon_TB_fr)/\((h_both zenon_TA_fb C)\/(h_false_only zenon_TA_fb C)))\/((g_both zenon_TA_fb zenon_TB_fr)/\(h_false_only zenon_TA_fb C)))) -> False).
% 0.39/0.55  do 2 intro. intros zenon_H9f zenon_H1.
% 0.39/0.55  apply zenon_H9f. zenon_intro zenon_Ha0.
% 0.39/0.55  elim zenon_Ha0. zenon_intro zenon_TB_fv. zenon_intro zenon_Ha1.
% 0.39/0.55  generalize (true_only_h zenon_TA_fb). zenon_intro zenon_Ha2.
% 0.39/0.55  generalize (zenon_Ha2 zenon_TB_fv). zenon_intro zenon_Ha3.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Ha3); [ zenon_intro zenon_Ha6; zenon_intro zenon_Ha5 | zenon_intro zenon_Ha1; zenon_intro zenon_Ha4 ].
% 0.39/0.55  exact (zenon_Ha6 zenon_Ha1).
% 0.39/0.55  apply (zenon_and_s _ _ zenon_Ha4). zenon_intro zenon_Ha7. zenon_intro zenon_H96.
% 0.39/0.55  generalize (zenon_H1 zenon_TB_fv). zenon_intro zenon_Ha8.
% 0.39/0.55  apply (zenon_or_s _ _ zenon_Ha8); [ zenon_intro zenon_Ha9 | zenon_intro zenon_H9e ].
% 0.39/0.55  apply (zenon_and_s _ _ zenon_Ha9). zenon_intro zenon_Hab. zenon_intro zenon_Haa.
% 0.39/0.55  apply (zenon_or_s _ _ zenon_Haa); [ zenon_intro zenon_Hac | zenon_intro zenon_H95 ].
% 0.39/0.55  generalize (both_h zenon_TA_fb). zenon_intro zenon_H84.
% 0.39/0.55  generalize (zenon_H84 zenon_TB_fv). zenon_intro zenon_Had.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Had); [ zenon_intro zenon_Hb0; zenon_intro zenon_Haf | zenon_intro zenon_Hac; zenon_intro zenon_Hae ].
% 0.39/0.55  exact (zenon_Hb0 zenon_Hac).
% 0.39/0.55  apply (zenon_and_s _ _ zenon_Hae). zenon_intro zenon_Ha7. zenon_intro zenon_H9d.
% 0.39/0.55  exact (zenon_H96 zenon_H9d).
% 0.39/0.55  apply (zenon_L30_ zenon_TB_fv zenon_TA_fb); trivial.
% 0.39/0.55  apply (zenon_L31_ zenon_TB_fv zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  (* end of lemma zenon_L32_ *)
% 0.39/0.55  assert (zenon_L33_ : forall (zenon_TB_fa : zenon_U) (zenon_TA_fb : zenon_U), (h_false_only zenon_TA_fb zenon_TB_fa) -> (h_true zenon_TA_fb zenon_TB_fa) -> False).
% 0.39/0.55  do 2 intro. intros zenon_H89 zenon_Hb1.
% 0.39/0.55  generalize (false_only_h zenon_TA_fb). zenon_intro zenon_H8b.
% 0.39/0.55  generalize (zenon_H8b zenon_TB_fa). zenon_intro zenon_H8c.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_H8c); [ zenon_intro zenon_H8f; zenon_intro zenon_H8e | zenon_intro zenon_H89; zenon_intro zenon_H8d ].
% 0.39/0.55  exact (zenon_H8f zenon_H89).
% 0.39/0.55  apply (zenon_and_s _ _ zenon_H8d). zenon_intro zenon_H91. zenon_intro zenon_H90.
% 0.39/0.55  exact (zenon_H90 zenon_Hb1).
% 0.39/0.55  (* end of lemma zenon_L33_ *)
% 0.39/0.55  assert (zenon_L34_ : forall (zenon_TB_fa : zenon_U) (zenon_TB_fr : zenon_U) (zenon_TA_fb : zenon_U), ((g_both zenon_TA_fb zenon_TB_fr)/\(h_false_only zenon_TA_fb zenon_TB_fa)) -> (h_true zenon_TA_fb zenon_TB_fa) -> False).
% 0.39/0.55  do 3 intro. intros zenon_H92 zenon_Hb1.
% 0.39/0.55  apply (zenon_and_s _ _ zenon_H92). zenon_intro zenon_H94. zenon_intro zenon_H89.
% 0.39/0.55  apply (zenon_L33_ zenon_TB_fa zenon_TA_fb); trivial.
% 0.39/0.55  (* end of lemma zenon_L34_ *)
% 0.39/0.55  assert (zenon_L35_ : forall (zenon_TB_fr : zenon_U) (zenon_TA_fb : zenon_U), (g_true_only zenon_TA_fb zenon_TB_fr) -> (g_false zenon_TA_fb zenon_TB_fr) -> False).
% 0.39/0.55  do 2 intro. intros zenon_Hab zenon_Hb2.
% 0.39/0.55  generalize (true_only_g zenon_TA_fb). zenon_intro zenon_Hb3.
% 0.39/0.55  generalize (zenon_Hb3 zenon_TB_fr). zenon_intro zenon_Hb4.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Hb4); [ zenon_intro zenon_Hb7; zenon_intro zenon_Hb6 | zenon_intro zenon_Hab; zenon_intro zenon_Hb5 ].
% 0.39/0.55  exact (zenon_Hb7 zenon_Hab).
% 0.39/0.55  apply (zenon_and_s _ _ zenon_Hb5). zenon_intro zenon_Hb9. zenon_intro zenon_Hb8.
% 0.39/0.55  exact (zenon_Hb8 zenon_Hb2).
% 0.39/0.55  (* end of lemma zenon_L35_ *)
% 0.39/0.55  assert (zenon_L36_ : forall (zenon_TB_fa : zenon_U) (zenon_TB_fr : zenon_U) (zenon_TA_fb : zenon_U), ((g_true_only zenon_TA_fb zenon_TB_fr)/\((h_both zenon_TA_fb zenon_TB_fa)\/(h_false_only zenon_TA_fb zenon_TB_fa))) -> (g_false zenon_TA_fb zenon_TB_fr) -> False).
% 0.39/0.55  do 3 intro. intros zenon_Hba zenon_Hb2.
% 0.39/0.55  apply (zenon_and_s _ _ zenon_Hba). zenon_intro zenon_Hab. zenon_intro zenon_Hbb.
% 0.39/0.55  apply (zenon_L35_ zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  (* end of lemma zenon_L36_ *)
% 0.39/0.55  assert (zenon_L37_ : forall (zenon_TB_fr : zenon_U) (zenon_TA_fb : zenon_U), (~(forall B : zenon_U, (h_false_only zenon_TA_fb B))) -> (forall C : zenon_U, (((g_true_only zenon_TA_fb zenon_TB_fr)/\((h_both zenon_TA_fb C)\/(h_false_only zenon_TA_fb C)))\/((g_both zenon_TA_fb zenon_TB_fr)/\(h_false_only zenon_TA_fb C)))) -> (g_false zenon_TA_fb zenon_TB_fr) -> False).
% 0.39/0.55  do 2 intro. intros zenon_Hbc zenon_H1 zenon_Hb2.
% 0.39/0.55  apply (zenon_notallex_s (fun B : zenon_U => (h_false_only zenon_TA_fb B)) zenon_Hbc); [ zenon_intro zenon_Hbd; idtac ].
% 0.39/0.55  elim zenon_Hbd. zenon_intro zenon_TB_fa. zenon_intro zenon_H8f.
% 0.39/0.55  generalize (false_only_h zenon_TA_fb). zenon_intro zenon_H8b.
% 0.39/0.55  generalize (zenon_H8b zenon_TB_fa). zenon_intro zenon_H8c.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_H8c); [ zenon_intro zenon_H8f; zenon_intro zenon_H8e | zenon_intro zenon_H89; zenon_intro zenon_H8d ].
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_H8e); [ zenon_intro zenon_H8a | zenon_intro zenon_Hbe ].
% 0.39/0.55  generalize (zenon_H1 zenon_TB_fa). zenon_intro zenon_Hbf.
% 0.39/0.55  apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hba | zenon_intro zenon_H92 ].
% 0.39/0.55  apply (zenon_L36_ zenon_TB_fa zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  apply (zenon_L29_ zenon_TB_fa zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  apply zenon_Hbe. zenon_intro zenon_Hb1.
% 0.39/0.55  generalize (zenon_H1 zenon_TB_fa). zenon_intro zenon_Hbf.
% 0.39/0.55  apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hba | zenon_intro zenon_H92 ].
% 0.39/0.55  apply (zenon_L36_ zenon_TB_fa zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  apply (zenon_L34_ zenon_TB_fa zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  exact (zenon_H8f zenon_H89).
% 0.39/0.55  (* end of lemma zenon_L37_ *)
% 0.39/0.55  assert (zenon_L38_ : forall (zenon_TB_fr : zenon_U) (zenon_TA_fb : zenon_U), (g_both zenon_TA_fb zenon_TB_fr) -> (forall C : zenon_U, (((g_true_only zenon_TA_fb zenon_TB_fr)/\((h_both zenon_TA_fb C)\/(h_false_only zenon_TA_fb C)))\/((g_both zenon_TA_fb zenon_TB_fr)/\(h_false_only zenon_TA_fb C)))) -> (~(exists A : zenon_U, (((exists B : zenon_U, (g_true_only A B))/\(((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B))))\/(forall B : zenon_U, (h_false_only A B))))\/((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\(forall B : zenon_U, (h_false_only A B))))))) -> False).
% 0.39/0.55  do 2 intro. intros zenon_H94 zenon_H1 zenon_H38.
% 0.39/0.55  generalize (both_g zenon_TA_fb). zenon_intro zenon_Hc0.
% 0.39/0.55  generalize (zenon_Hc0 zenon_TB_fr). zenon_intro zenon_Hc1.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Hc1); [ zenon_intro zenon_Hc4; zenon_intro zenon_Hc3 | zenon_intro zenon_H94; zenon_intro zenon_Hc2 ].
% 0.39/0.55  exact (zenon_Hc4 zenon_H94).
% 0.39/0.55  apply (zenon_and_s _ _ zenon_Hc2). zenon_intro zenon_Hb9. zenon_intro zenon_Hb2.
% 0.39/0.55  apply zenon_H38. exists zenon_TA_fb. apply NNPP. zenon_intro zenon_Hc5.
% 0.39/0.55  apply (zenon_notor_s _ _ zenon_Hc5). zenon_intro zenon_Hc7. zenon_intro zenon_Hc6.
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_Hc7); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hc8 ].
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_Hc6); [ zenon_intro zenon_Hcb | zenon_intro zenon_Hca ].
% 0.39/0.55  apply zenon_Hcb. exists zenon_TB_fr. apply NNPP. zenon_intro zenon_Hc4.
% 0.39/0.55  generalize (both_g zenon_TA_fb). zenon_intro zenon_Hc0.
% 0.39/0.55  generalize (zenon_Hc0 zenon_TB_fr). zenon_intro zenon_Hc1.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Hc1); [ zenon_intro zenon_Hc4; zenon_intro zenon_Hc3 | zenon_intro zenon_H94; zenon_intro zenon_Hc2 ].
% 0.39/0.55  exact (zenon_Hc3 zenon_Hc2).
% 0.39/0.55  exact (zenon_Hc4 zenon_H94).
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_Hca); [ zenon_intro zenon_Hcc | zenon_intro zenon_Hbc ].
% 0.39/0.55  exact (zenon_Hcc zenon_Hc9).
% 0.39/0.55  apply (zenon_L37_ zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  apply (zenon_notor_s _ _ zenon_Hc8). zenon_intro zenon_Hcd. zenon_intro zenon_Hbc.
% 0.39/0.55  apply (zenon_L37_ zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  (* end of lemma zenon_L38_ *)
% 0.39/0.55  assert (zenon_L39_ : (exists A : zenon_U, (exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C)))))) -> (~(exists A : zenon_U, (((exists B : zenon_U, (g_true_only A B))/\(((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B))))\/(forall B : zenon_U, (h_false_only A B))))\/((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\(forall B : zenon_U, (h_false_only A B))))))) -> False).
% 0.39/0.55  do 0 intro. intros zenon_Hce zenon_H38.
% 0.39/0.55  elim zenon_Hce. zenon_intro zenon_TA_fb. zenon_intro zenon_Hcf.
% 0.39/0.55  elim zenon_Hcf. zenon_intro zenon_TB_fr. zenon_intro zenon_H1.
% 0.39/0.55  generalize (zenon_H1 zenon_E). zenon_intro zenon_Hd0.
% 0.39/0.55  apply (zenon_or_s _ _ zenon_Hd0); [ zenon_intro zenon_Hd2 | zenon_intro zenon_Hd1 ].
% 0.39/0.55  apply (zenon_and_s _ _ zenon_Hd2). zenon_intro zenon_Hab. zenon_intro zenon_Hd3.
% 0.39/0.55  generalize (true_only_g zenon_TA_fb). zenon_intro zenon_Hb3.
% 0.39/0.55  generalize (zenon_Hb3 zenon_TB_fr). zenon_intro zenon_Hb4.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Hb4); [ zenon_intro zenon_Hb7; zenon_intro zenon_Hb6 | zenon_intro zenon_Hab; zenon_intro zenon_Hb5 ].
% 0.39/0.55  exact (zenon_Hb7 zenon_Hab).
% 0.39/0.55  apply zenon_H38. exists zenon_TA_fb. apply NNPP. zenon_intro zenon_Hc5.
% 0.39/0.55  apply (zenon_notor_s _ _ zenon_Hc5). zenon_intro zenon_Hc7. zenon_intro zenon_Hc6.
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_Hc7); [ zenon_intro zenon_Hc9 | zenon_intro zenon_Hc8 ].
% 0.39/0.55  apply zenon_Hc9. exists zenon_TB_fr. apply NNPP. zenon_intro zenon_Hb7.
% 0.39/0.55  generalize (true_only_g zenon_TA_fb). zenon_intro zenon_Hb3.
% 0.39/0.55  generalize (zenon_Hb3 zenon_TB_fr). zenon_intro zenon_Hb4.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Hb4); [ zenon_intro zenon_Hb7; zenon_intro zenon_Hb6 | zenon_intro zenon_Hab; zenon_intro zenon_Hb5 ].
% 0.39/0.55  exact (zenon_Hb6 zenon_Hb5).
% 0.39/0.55  exact (zenon_Hb7 zenon_Hab).
% 0.39/0.55  apply (zenon_notor_s _ _ zenon_Hc8). zenon_intro zenon_Hcd. zenon_intro zenon_Hbc.
% 0.39/0.55  apply (zenon_notallex_s (fun B : zenon_U => (h_false_only zenon_TA_fb B)) zenon_Hbc); [ zenon_intro zenon_Hbd; idtac ].
% 0.39/0.55  elim zenon_Hbd. zenon_intro zenon_TB_fa. zenon_intro zenon_H8f.
% 0.39/0.55  generalize (false_only_h zenon_TA_fb). zenon_intro zenon_H8b.
% 0.39/0.55  generalize (zenon_H8b zenon_TB_fa). zenon_intro zenon_H8c.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_H8c); [ zenon_intro zenon_H8f; zenon_intro zenon_H8e | zenon_intro zenon_H89; zenon_intro zenon_H8d ].
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_H8e); [ zenon_intro zenon_H8a | zenon_intro zenon_Hbe ].
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_Hcd); [ zenon_intro zenon_H81 | zenon_intro zenon_H9f ].
% 0.39/0.55  generalize (zenon_H1 zenon_TB_fa). zenon_intro zenon_Hbf.
% 0.39/0.55  apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hba | zenon_intro zenon_H92 ].
% 0.39/0.55  apply (zenon_and_s _ _ zenon_Hba). zenon_intro zenon_Hab. zenon_intro zenon_Hbb.
% 0.39/0.55  apply (zenon_or_s _ _ zenon_Hbb); [ zenon_intro zenon_H80 | zenon_intro zenon_H89 ].
% 0.39/0.55  apply (zenon_L27_ zenon_TB_fa zenon_TA_fb); trivial.
% 0.39/0.55  apply (zenon_L28_ zenon_TB_fa zenon_TA_fb); trivial.
% 0.39/0.55  apply (zenon_L29_ zenon_TB_fa zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  apply (zenon_L32_ zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  apply zenon_Hbe. zenon_intro zenon_Hb1.
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_Hcd); [ zenon_intro zenon_H81 | zenon_intro zenon_H9f ].
% 0.39/0.55  generalize (zenon_H1 zenon_TB_fa). zenon_intro zenon_Hbf.
% 0.39/0.55  apply (zenon_or_s _ _ zenon_Hbf); [ zenon_intro zenon_Hba | zenon_intro zenon_H92 ].
% 0.39/0.55  apply (zenon_and_s _ _ zenon_Hba). zenon_intro zenon_Hab. zenon_intro zenon_Hbb.
% 0.39/0.55  apply (zenon_or_s _ _ zenon_Hbb); [ zenon_intro zenon_H80 | zenon_intro zenon_H89 ].
% 0.39/0.55  apply (zenon_L27_ zenon_TB_fa zenon_TA_fb); trivial.
% 0.39/0.55  apply (zenon_L33_ zenon_TB_fa zenon_TA_fb); trivial.
% 0.39/0.55  apply (zenon_L34_ zenon_TB_fa zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  apply (zenon_L32_ zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  exact (zenon_H8f zenon_H89).
% 0.39/0.55  apply (zenon_and_s _ _ zenon_Hd1). zenon_intro zenon_H94. zenon_intro zenon_Hd4.
% 0.39/0.55  apply (zenon_L38_ zenon_TB_fr zenon_TA_fb); trivial.
% 0.39/0.55  (* end of lemma zenon_L39_ *)
% 0.39/0.55  assert (zenon_L40_ : forall (zenon_TC_ih : zenon_U) (zenon_TA_q : zenon_U), (~(~(h_false zenon_TA_q zenon_TC_ih))) -> (~(h_false zenon_TA_q zenon_TC_ih)) -> False).
% 0.39/0.55  do 2 intro. intros zenon_Hd5 zenon_Hd6.
% 0.39/0.55  exact (zenon_Hd5 zenon_Hd6).
% 0.39/0.55  (* end of lemma zenon_L40_ *)
% 0.39/0.55  assert (zenon_L41_ : forall (zenon_TA_q : zenon_U), (exists B : zenon_U, (g_true_only zenon_TA_q B)) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (~(exists A : zenon_U, (exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C))))))) -> False).
% 0.39/0.55  do 1 intro. intros zenon_H6e zenon_H18 zenon_H66.
% 0.39/0.55  elim zenon_H6e. zenon_intro zenon_TB_ii. zenon_intro zenon_Hd9.
% 0.39/0.55  generalize (true_only_g zenon_TA_q). zenon_intro zenon_H11.
% 0.39/0.55  generalize (zenon_H11 zenon_TB_ii). zenon_intro zenon_Hda.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Hda); [ zenon_intro zenon_Hdd; zenon_intro zenon_Hdc | zenon_intro zenon_Hd9; zenon_intro zenon_Hdb ].
% 0.39/0.55  exact (zenon_Hdd zenon_Hd9).
% 0.39/0.55  generalize (exhaustion_h zenon_TA_q). zenon_intro zenon_H20.
% 0.39/0.55  apply zenon_H66. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H67.
% 0.39/0.55  apply zenon_H67. exists zenon_TB_ii. apply NNPP. zenon_intro zenon_Hde.
% 0.39/0.55  apply (zenon_notallex_s (fun C : zenon_U => (((g_true_only zenon_TA_q zenon_TB_ii)/\((h_both zenon_TA_q C)\/(h_false_only zenon_TA_q C)))\/((g_both zenon_TA_q zenon_TB_ii)/\(h_false_only zenon_TA_q C)))) zenon_Hde); [ zenon_intro zenon_Hdf; idtac ].
% 0.39/0.55  elim zenon_Hdf. zenon_intro zenon_TC_ih. zenon_intro zenon_He0.
% 0.39/0.55  apply (zenon_notor_s _ _ zenon_He0). zenon_intro zenon_He2. zenon_intro zenon_He1.
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_He2); [ zenon_intro zenon_Hdd | zenon_intro zenon_He3 ].
% 0.39/0.55  generalize (true_only_g zenon_TA_q). zenon_intro zenon_H11.
% 0.39/0.55  generalize (zenon_H11 zenon_TB_ii). zenon_intro zenon_Hda.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Hda); [ zenon_intro zenon_Hdd; zenon_intro zenon_Hdc | zenon_intro zenon_Hd9; zenon_intro zenon_Hdb ].
% 0.39/0.55  exact (zenon_Hdc zenon_Hdb).
% 0.39/0.55  exact (zenon_Hdd zenon_Hd9).
% 0.39/0.55  apply (zenon_notor_s _ _ zenon_He3). zenon_intro zenon_He5. zenon_intro zenon_He4.
% 0.39/0.55  generalize (both_h zenon_TA_q). zenon_intro zenon_H26.
% 0.39/0.55  generalize (zenon_H26 zenon_TC_ih). zenon_intro zenon_He6.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_He6); [ zenon_intro zenon_He5; zenon_intro zenon_He9 | zenon_intro zenon_He8; zenon_intro zenon_He7 ].
% 0.39/0.55  generalize (false_only_h zenon_TA_q). zenon_intro zenon_H2c.
% 0.39/0.55  generalize (zenon_H2c zenon_TC_ih). zenon_intro zenon_Hea.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Hea); [ zenon_intro zenon_He4; zenon_intro zenon_Hed | zenon_intro zenon_Hec; zenon_intro zenon_Heb ].
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_Hed); [ zenon_intro zenon_Hd6 | zenon_intro zenon_Hee ].
% 0.39/0.55  apply zenon_H18. exists zenon_TC_ih. apply NNPP. zenon_intro zenon_Hef.
% 0.39/0.55  generalize (true_only_h zenon_TA_q). zenon_intro zenon_H1a.
% 0.39/0.55  generalize (zenon_H1a zenon_TC_ih). zenon_intro zenon_Hf0.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Hf0); [ zenon_intro zenon_Hef; zenon_intro zenon_Hf3 | zenon_intro zenon_Hf2; zenon_intro zenon_Hf1 ].
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_Hf3); [ zenon_intro zenon_Hf4 | zenon_intro zenon_Hd5 ].
% 0.39/0.55  generalize (zenon_H20 zenon_TC_ih). zenon_intro zenon_Hf5.
% 0.39/0.55  apply (zenon_or_s _ _ zenon_Hf5); [ zenon_intro zenon_Hf2 | zenon_intro zenon_Hf6 ].
% 0.39/0.55  generalize (true_only_h zenon_TA_q). zenon_intro zenon_H1a.
% 0.39/0.55  generalize (zenon_H1a zenon_TC_ih). zenon_intro zenon_Hf0.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Hf0); [ zenon_intro zenon_Hef; zenon_intro zenon_Hf3 | zenon_intro zenon_Hf2; zenon_intro zenon_Hf1 ].
% 0.39/0.55  exact (zenon_Hef zenon_Hf2).
% 0.39/0.55  apply (zenon_and_s _ _ zenon_Hf1). zenon_intro zenon_Hf7. zenon_intro zenon_Hd6.
% 0.39/0.55  exact (zenon_Hf4 zenon_Hf7).
% 0.39/0.55  apply (zenon_or_s _ _ zenon_Hf6); [ zenon_intro zenon_He8 | zenon_intro zenon_Hec ].
% 0.39/0.55  generalize (both_h zenon_TA_q). zenon_intro zenon_H26.
% 0.39/0.55  generalize (zenon_H26 zenon_TC_ih). zenon_intro zenon_He6.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_He6); [ zenon_intro zenon_He5; zenon_intro zenon_He9 | zenon_intro zenon_He8; zenon_intro zenon_He7 ].
% 0.39/0.55  exact (zenon_He5 zenon_He8).
% 0.39/0.55  apply (zenon_and_s _ _ zenon_He7). zenon_intro zenon_Hf7. zenon_intro zenon_Hf8.
% 0.39/0.55  exact (zenon_Hf4 zenon_Hf7).
% 0.39/0.55  generalize (false_only_h zenon_TA_q). zenon_intro zenon_H2c.
% 0.39/0.55  generalize (zenon_H2c zenon_TC_ih). zenon_intro zenon_Hea.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Hea); [ zenon_intro zenon_He4; zenon_intro zenon_Hed | zenon_intro zenon_Hec; zenon_intro zenon_Heb ].
% 0.39/0.55  exact (zenon_He4 zenon_Hec).
% 0.39/0.55  apply (zenon_and_s _ _ zenon_Heb). zenon_intro zenon_Hf8. zenon_intro zenon_Hf4.
% 0.39/0.55  exact (zenon_Hd6 zenon_Hf8).
% 0.39/0.55  exact (zenon_Hd5 zenon_Hd6).
% 0.39/0.55  exact (zenon_Hef zenon_Hf2).
% 0.39/0.55  apply zenon_Hee. zenon_intro zenon_Hf7.
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_He9); [ zenon_intro zenon_Hf4 | zenon_intro zenon_Hd6 ].
% 0.39/0.55  exact (zenon_Hf4 zenon_Hf7).
% 0.39/0.55  apply zenon_H18. exists zenon_TC_ih. apply NNPP. zenon_intro zenon_Hef.
% 0.39/0.55  generalize (true_only_h zenon_TA_q). zenon_intro zenon_H1a.
% 0.39/0.55  generalize (zenon_H1a zenon_TC_ih). zenon_intro zenon_Hf0.
% 0.39/0.55  apply (zenon_equiv_s _ _ zenon_Hf0); [ zenon_intro zenon_Hef; zenon_intro zenon_Hf3 | zenon_intro zenon_Hf2; zenon_intro zenon_Hf1 ].
% 0.39/0.55  apply (zenon_notand_s _ _ zenon_Hf3); [ zenon_intro zenon_Hf4 | zenon_intro zenon_Hd5 ].
% 0.39/0.55  exact (zenon_Hf4 zenon_Hf7).
% 0.39/0.55  exact (zenon_Hd5 zenon_Hd6).
% 0.39/0.55  exact (zenon_Hef zenon_Hf2).
% 0.39/0.55  exact (zenon_He4 zenon_Hec).
% 0.39/0.56  exact (zenon_He5 zenon_He8).
% 0.39/0.56  (* end of lemma zenon_L41_ *)
% 0.39/0.56  assert (zenon_L42_ : forall (zenon_TB_p : zenon_U) (zenon_TA_q : zenon_U), (g_both zenon_TA_q zenon_TB_p) -> (~(exists A : zenon_U, ((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B)))))))) -> (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (~(exists A : zenon_U, (exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C))))))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H3d zenon_H6f zenon_H18 zenon_H66.
% 0.39/0.56  generalize (both_g zenon_TA_q). zenon_intro zenon_H3f.
% 0.39/0.56  generalize (zenon_H3f zenon_TB_p). zenon_intro zenon_H40.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H40); [ zenon_intro zenon_H43; zenon_intro zenon_H42 | zenon_intro zenon_H3d; zenon_intro zenon_H41 ].
% 0.39/0.56  exact (zenon_H43 zenon_H3d).
% 0.39/0.56  apply zenon_H6f. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H70.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H70); [ zenon_intro zenon_H6d | zenon_intro zenon_H71 ].
% 0.39/0.56  apply (zenon_L18_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H71); [ zenon_intro zenon_H72 | zenon_intro zenon_H35 ].
% 0.39/0.56  apply zenon_H72. zenon_intro zenon_H6e.
% 0.39/0.56  apply (zenon_L41_ zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H35); [ zenon_intro zenon_H31 | zenon_intro zenon_H32 ].
% 0.39/0.56  generalize (exhaustion_h zenon_TA_q). zenon_intro zenon_H20.
% 0.39/0.56  apply zenon_H66. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H67.
% 0.39/0.56  apply zenon_H67. exists zenon_TB_p. apply NNPP. zenon_intro zenon_H68.
% 0.39/0.56  apply (zenon_notallex_s (fun C : zenon_U => (((g_true_only zenon_TA_q zenon_TB_p)/\((h_both zenon_TA_q C)\/(h_false_only zenon_TA_q C)))\/((g_both zenon_TA_q zenon_TB_p)/\(h_false_only zenon_TA_q C)))) zenon_H68); [ zenon_intro zenon_H69; idtac ].
% 0.39/0.56  elim zenon_H69. zenon_intro zenon_TC_db. zenon_intro zenon_H6a.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H6a). zenon_intro zenon_H6c. zenon_intro zenon_H6b.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H6b); [ zenon_intro zenon_H43 | zenon_intro zenon_H62 ].
% 0.39/0.56  apply (zenon_L17_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply zenon_H31. exists zenon_TC_db. apply NNPP. zenon_intro zenon_H5d.
% 0.39/0.56  apply (zenon_L14_ zenon_TC_db zenon_TA_q); trivial.
% 0.39/0.56  exact (zenon_H32 zenon_H18).
% 0.39/0.56  (* end of lemma zenon_L42_ *)
% 0.39/0.56  assert (zenon_L43_ : forall (zenon_TB_jr : zenon_U) (zenon_TA_js : zenon_U), ((g_true zenon_TA_js zenon_TB_jr)/\(~(g_false zenon_TA_js zenon_TB_jr))) -> (~(g_true_only zenon_TA_js zenon_TB_jr)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_Hf9 zenon_Hfa.
% 0.39/0.56  generalize (true_only_g zenon_TA_js). zenon_intro zenon_Hfd.
% 0.39/0.56  generalize (zenon_Hfd zenon_TB_jr). zenon_intro zenon_Hfe.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_Hfe); [ zenon_intro zenon_Hfa; zenon_intro zenon_H100 | zenon_intro zenon_Hff; zenon_intro zenon_Hf9 ].
% 0.39/0.56  exact (zenon_H100 zenon_Hf9).
% 0.39/0.56  exact (zenon_Hfa zenon_Hff).
% 0.39/0.56  (* end of lemma zenon_L43_ *)
% 0.39/0.56  assert (zenon_L44_ : forall (zenon_TC_jz : zenon_U) (zenon_TA_js : zenon_U), (h_false_only zenon_TA_js zenon_TC_jz) -> (~(h_false zenon_TA_js zenon_TC_jz)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H101 zenon_H102.
% 0.39/0.56  generalize (false_only_h zenon_TA_js). zenon_intro zenon_H104.
% 0.39/0.56  generalize (zenon_H104 zenon_TC_jz). zenon_intro zenon_H105.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H105); [ zenon_intro zenon_H108; zenon_intro zenon_H107 | zenon_intro zenon_H101; zenon_intro zenon_H106 ].
% 0.39/0.56  exact (zenon_H108 zenon_H101).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H106). zenon_intro zenon_H10a. zenon_intro zenon_H109.
% 0.39/0.56  exact (zenon_H102 zenon_H10a).
% 0.39/0.56  (* end of lemma zenon_L44_ *)
% 0.39/0.56  assert (zenon_L45_ : forall (zenon_TC_jz : zenon_U) (zenon_TA_js : zenon_U), (~(~(h_false zenon_TA_js zenon_TC_jz))) -> (~(h_false zenon_TA_js zenon_TC_jz)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H10b zenon_H102.
% 0.39/0.56  exact (zenon_H10b zenon_H102).
% 0.39/0.56  (* end of lemma zenon_L45_ *)
% 0.39/0.56  assert (zenon_L46_ : forall (zenon_TC_jz : zenon_U) (zenon_TA_js : zenon_U), (forall B : zenon_U, (h_false_only zenon_TA_js B)) -> (~(h_false zenon_TA_js zenon_TC_jz)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H10c zenon_H102.
% 0.39/0.56  generalize (zenon_H10c zenon_TC_jz). zenon_intro zenon_H101.
% 0.39/0.56  apply (zenon_L44_ zenon_TC_jz zenon_TA_js); trivial.
% 0.39/0.56  (* end of lemma zenon_L46_ *)
% 0.39/0.56  assert (zenon_L47_ : forall (zenon_TC_kk : zenon_U) (zenon_TA_js : zenon_U), (forall B : zenon_U, (h_false_only zenon_TA_js B)) -> (~(h_false zenon_TA_js zenon_TC_kk)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H10c zenon_H10d.
% 0.39/0.56  generalize (zenon_H10c zenon_TC_kk). zenon_intro zenon_H10f.
% 0.39/0.56  generalize (false_only_h zenon_TA_js). zenon_intro zenon_H104.
% 0.39/0.56  generalize (zenon_H104 zenon_TC_kk). zenon_intro zenon_H110.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H110); [ zenon_intro zenon_H113; zenon_intro zenon_H112 | zenon_intro zenon_H10f; zenon_intro zenon_H111 ].
% 0.39/0.56  exact (zenon_H113 zenon_H10f).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H111). zenon_intro zenon_H115. zenon_intro zenon_H114.
% 0.39/0.56  exact (zenon_H10d zenon_H115).
% 0.39/0.56  (* end of lemma zenon_L47_ *)
% 0.39/0.56  assert (zenon_L48_ : (exists A : zenon_U, (((exists B : zenon_U, (g_true_only A B))/\(((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B))))\/(forall B : zenon_U, (h_false_only A B))))\/((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\(forall B : zenon_U, (h_false_only A B)))))) -> (~(exists A : zenon_U, (exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C))))))) -> False).
% 0.39/0.56  do 0 intro. intros zenon_H116 zenon_H66.
% 0.39/0.56  elim zenon_H116. zenon_intro zenon_TA_js. zenon_intro zenon_H117.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H117); [ zenon_intro zenon_H119 | zenon_intro zenon_H118 ].
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H119). zenon_intro zenon_H11b. zenon_intro zenon_H11a.
% 0.39/0.56  elim zenon_H11b. zenon_intro zenon_TB_jr. zenon_intro zenon_Hff.
% 0.39/0.56  generalize (true_only_g zenon_TA_js). zenon_intro zenon_Hfd.
% 0.39/0.56  generalize (zenon_Hfd zenon_TB_jr). zenon_intro zenon_Hfe.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_Hfe); [ zenon_intro zenon_Hfa; zenon_intro zenon_H100 | zenon_intro zenon_Hff; zenon_intro zenon_Hf9 ].
% 0.39/0.56  exact (zenon_Hfa zenon_Hff).
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H11a); [ zenon_intro zenon_H11c | zenon_intro zenon_H10c ].
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H11c). zenon_intro zenon_H11e. zenon_intro zenon_H11d.
% 0.39/0.56  generalize (exhaustion_h zenon_TA_js). zenon_intro zenon_H11f.
% 0.39/0.56  apply zenon_H66. exists zenon_TA_js. apply NNPP. zenon_intro zenon_H120.
% 0.39/0.56  apply zenon_H120. exists zenon_TB_jr. apply NNPP. zenon_intro zenon_H121.
% 0.39/0.56  apply (zenon_notallex_s (fun C : zenon_U => (((g_true_only zenon_TA_js zenon_TB_jr)/\((h_both zenon_TA_js C)\/(h_false_only zenon_TA_js C)))\/((g_both zenon_TA_js zenon_TB_jr)/\(h_false_only zenon_TA_js C)))) zenon_H121); [ zenon_intro zenon_H122; idtac ].
% 0.39/0.56  elim zenon_H122. zenon_intro zenon_TC_jz. zenon_intro zenon_H123.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H123). zenon_intro zenon_H125. zenon_intro zenon_H124.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H125); [ zenon_intro zenon_Hfa | zenon_intro zenon_H126 ].
% 0.39/0.56  apply (zenon_L43_ zenon_TB_jr zenon_TA_js); trivial.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H126). zenon_intro zenon_H127. zenon_intro zenon_H108.
% 0.39/0.56  generalize (both_h zenon_TA_js). zenon_intro zenon_H128.
% 0.39/0.56  generalize (zenon_H128 zenon_TC_jz). zenon_intro zenon_H129.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H129); [ zenon_intro zenon_H127; zenon_intro zenon_H12c | zenon_intro zenon_H12b; zenon_intro zenon_H12a ].
% 0.39/0.56  generalize (false_only_h zenon_TA_js). zenon_intro zenon_H104.
% 0.39/0.56  generalize (zenon_H104 zenon_TC_jz). zenon_intro zenon_H105.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H105); [ zenon_intro zenon_H108; zenon_intro zenon_H107 | zenon_intro zenon_H101; zenon_intro zenon_H106 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H107); [ zenon_intro zenon_H102 | zenon_intro zenon_H12d ].
% 0.39/0.56  apply zenon_H11d. exists zenon_TC_jz. apply NNPP. zenon_intro zenon_H12e.
% 0.39/0.56  generalize (true_only_h zenon_TA_js). zenon_intro zenon_H12f.
% 0.39/0.56  generalize (zenon_H12f zenon_TC_jz). zenon_intro zenon_H130.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H130); [ zenon_intro zenon_H12e; zenon_intro zenon_H133 | zenon_intro zenon_H132; zenon_intro zenon_H131 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H133); [ zenon_intro zenon_H109 | zenon_intro zenon_H10b ].
% 0.39/0.56  generalize (zenon_H11f zenon_TC_jz). zenon_intro zenon_H134.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H134); [ zenon_intro zenon_H132 | zenon_intro zenon_H135 ].
% 0.39/0.56  generalize (true_only_h zenon_TA_js). zenon_intro zenon_H12f.
% 0.39/0.56  generalize (zenon_H12f zenon_TC_jz). zenon_intro zenon_H130.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H130); [ zenon_intro zenon_H12e; zenon_intro zenon_H133 | zenon_intro zenon_H132; zenon_intro zenon_H131 ].
% 0.39/0.56  exact (zenon_H12e zenon_H132).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H131). zenon_intro zenon_H136. zenon_intro zenon_H102.
% 0.39/0.56  exact (zenon_H109 zenon_H136).
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H135); [ zenon_intro zenon_H12b | zenon_intro zenon_H101 ].
% 0.39/0.56  generalize (both_h zenon_TA_js). zenon_intro zenon_H128.
% 0.39/0.56  generalize (zenon_H128 zenon_TC_jz). zenon_intro zenon_H129.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H129); [ zenon_intro zenon_H127; zenon_intro zenon_H12c | zenon_intro zenon_H12b; zenon_intro zenon_H12a ].
% 0.39/0.56  exact (zenon_H127 zenon_H12b).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H12a). zenon_intro zenon_H136. zenon_intro zenon_H10a.
% 0.39/0.56  exact (zenon_H109 zenon_H136).
% 0.39/0.56  apply (zenon_L44_ zenon_TC_jz zenon_TA_js); trivial.
% 0.39/0.56  exact (zenon_H10b zenon_H102).
% 0.39/0.56  exact (zenon_H12e zenon_H132).
% 0.39/0.56  apply zenon_H12d. zenon_intro zenon_H136.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H12c); [ zenon_intro zenon_H109 | zenon_intro zenon_H102 ].
% 0.39/0.56  exact (zenon_H109 zenon_H136).
% 0.39/0.56  apply zenon_H11d. exists zenon_TC_jz. apply NNPP. zenon_intro zenon_H12e.
% 0.39/0.56  generalize (true_only_h zenon_TA_js). zenon_intro zenon_H12f.
% 0.39/0.56  generalize (zenon_H12f zenon_TC_jz). zenon_intro zenon_H130.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H130); [ zenon_intro zenon_H12e; zenon_intro zenon_H133 | zenon_intro zenon_H132; zenon_intro zenon_H131 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H133); [ zenon_intro zenon_H109 | zenon_intro zenon_H10b ].
% 0.39/0.56  exact (zenon_H109 zenon_H136).
% 0.39/0.56  exact (zenon_H10b zenon_H102).
% 0.39/0.56  exact (zenon_H12e zenon_H132).
% 0.39/0.56  exact (zenon_H108 zenon_H101).
% 0.39/0.56  exact (zenon_H127 zenon_H12b).
% 0.39/0.56  apply zenon_H66. exists zenon_TA_js. apply NNPP. zenon_intro zenon_H120.
% 0.39/0.56  apply zenon_H120. exists zenon_TB_jr. apply NNPP. zenon_intro zenon_H121.
% 0.39/0.56  apply (zenon_notallex_s (fun C : zenon_U => (((g_true_only zenon_TA_js zenon_TB_jr)/\((h_both zenon_TA_js C)\/(h_false_only zenon_TA_js C)))\/((g_both zenon_TA_js zenon_TB_jr)/\(h_false_only zenon_TA_js C)))) zenon_H121); [ zenon_intro zenon_H122; idtac ].
% 0.39/0.56  elim zenon_H122. zenon_intro zenon_TC_jz. zenon_intro zenon_H123.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H123). zenon_intro zenon_H125. zenon_intro zenon_H124.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H125); [ zenon_intro zenon_Hfa | zenon_intro zenon_H126 ].
% 0.39/0.56  apply (zenon_L43_ zenon_TB_jr zenon_TA_js); trivial.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H126). zenon_intro zenon_H127. zenon_intro zenon_H108.
% 0.39/0.56  generalize (both_h zenon_TA_js). zenon_intro zenon_H128.
% 0.39/0.56  generalize (zenon_H128 zenon_TC_jz). zenon_intro zenon_H129.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H129); [ zenon_intro zenon_H127; zenon_intro zenon_H12c | zenon_intro zenon_H12b; zenon_intro zenon_H12a ].
% 0.39/0.56  generalize (false_only_h zenon_TA_js). zenon_intro zenon_H104.
% 0.39/0.56  generalize (zenon_H104 zenon_TC_jz). zenon_intro zenon_H105.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H105); [ zenon_intro zenon_H108; zenon_intro zenon_H107 | zenon_intro zenon_H101; zenon_intro zenon_H106 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H107); [ zenon_intro zenon_H102 | zenon_intro zenon_H12d ].
% 0.39/0.56  apply (zenon_L46_ zenon_TC_jz zenon_TA_js); trivial.
% 0.39/0.56  apply zenon_H12d. zenon_intro zenon_H136.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H12c); [ zenon_intro zenon_H109 | zenon_intro zenon_H102 ].
% 0.39/0.56  exact (zenon_H109 zenon_H136).
% 0.39/0.56  apply (zenon_L46_ zenon_TC_jz zenon_TA_js); trivial.
% 0.39/0.56  exact (zenon_H108 zenon_H101).
% 0.39/0.56  exact (zenon_H127 zenon_H12b).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H118). zenon_intro zenon_H138. zenon_intro zenon_H137.
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H137). zenon_intro zenon_H139. zenon_intro zenon_H10c.
% 0.39/0.56  elim zenon_H138. zenon_intro zenon_TB_mc. zenon_intro zenon_H13b.
% 0.39/0.56  generalize (both_g zenon_TA_js). zenon_intro zenon_H13c.
% 0.39/0.56  generalize (zenon_H13c zenon_TB_mc). zenon_intro zenon_H13d.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H13d); [ zenon_intro zenon_H140; zenon_intro zenon_H13f | zenon_intro zenon_H13b; zenon_intro zenon_H13e ].
% 0.39/0.56  exact (zenon_H140 zenon_H13b).
% 0.39/0.56  apply zenon_H66. exists zenon_TA_js. apply NNPP. zenon_intro zenon_H120.
% 0.39/0.56  apply zenon_H120. exists zenon_TB_mc. apply NNPP. zenon_intro zenon_H141.
% 0.39/0.56  apply (zenon_notallex_s (fun C : zenon_U => (((g_true_only zenon_TA_js zenon_TB_mc)/\((h_both zenon_TA_js C)\/(h_false_only zenon_TA_js C)))\/((g_both zenon_TA_js zenon_TB_mc)/\(h_false_only zenon_TA_js C)))) zenon_H141); [ zenon_intro zenon_H142; idtac ].
% 0.39/0.56  elim zenon_H142. zenon_intro zenon_TC_kk. zenon_intro zenon_H143.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H143). zenon_intro zenon_H145. zenon_intro zenon_H144.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H144); [ zenon_intro zenon_H140 | zenon_intro zenon_H113 ].
% 0.39/0.56  generalize (both_g zenon_TA_js). zenon_intro zenon_H13c.
% 0.39/0.56  generalize (zenon_H13c zenon_TB_mc). zenon_intro zenon_H13d.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H13d); [ zenon_intro zenon_H140; zenon_intro zenon_H13f | zenon_intro zenon_H13b; zenon_intro zenon_H13e ].
% 0.39/0.56  exact (zenon_H13f zenon_H13e).
% 0.39/0.56  exact (zenon_H140 zenon_H13b).
% 0.39/0.56  generalize (false_only_h zenon_TA_js). zenon_intro zenon_H104.
% 0.39/0.56  generalize (zenon_H104 zenon_TC_kk). zenon_intro zenon_H110.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H110); [ zenon_intro zenon_H113; zenon_intro zenon_H112 | zenon_intro zenon_H10f; zenon_intro zenon_H111 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H112); [ zenon_intro zenon_H10d | zenon_intro zenon_H146 ].
% 0.39/0.56  apply (zenon_L47_ zenon_TC_kk zenon_TA_js); trivial.
% 0.39/0.56  apply zenon_H146. zenon_intro zenon_H147.
% 0.39/0.56  generalize (zenon_H10c zenon_TC_kk). zenon_intro zenon_H10f.
% 0.39/0.56  generalize (false_only_h zenon_TA_js). zenon_intro zenon_H104.
% 0.39/0.56  generalize (zenon_H104 zenon_TC_kk). zenon_intro zenon_H110.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H110); [ zenon_intro zenon_H113; zenon_intro zenon_H112 | zenon_intro zenon_H10f; zenon_intro zenon_H111 ].
% 0.39/0.56  exact (zenon_H113 zenon_H10f).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H111). zenon_intro zenon_H115. zenon_intro zenon_H114.
% 0.39/0.56  exact (zenon_H114 zenon_H147).
% 0.39/0.56  exact (zenon_H113 zenon_H10f).
% 0.39/0.56  (* end of lemma zenon_L48_ *)
% 0.39/0.56  assert (zenon_L49_ : forall (zenon_TC_db : zenon_U) (zenon_TA_q : zenon_U), (~(exists B : zenon_U, (h_true_only zenon_TA_q B))) -> (~(h_false_only zenon_TA_q zenon_TC_db)) -> (~(h_both zenon_TA_q zenon_TC_db)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H18 zenon_H62 zenon_H5d.
% 0.39/0.56  generalize (both_h zenon_TA_q). zenon_intro zenon_H26.
% 0.39/0.56  generalize (zenon_H26 zenon_TC_db). zenon_intro zenon_H5a.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H5a); [ zenon_intro zenon_H5d; zenon_intro zenon_H5c | zenon_intro zenon_H59; zenon_intro zenon_H5b ].
% 0.39/0.56  generalize (false_only_h zenon_TA_q). zenon_intro zenon_H2c.
% 0.39/0.56  generalize (zenon_H2c zenon_TC_db). zenon_intro zenon_H5f.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H5f); [ zenon_intro zenon_H62; zenon_intro zenon_H61 | zenon_intro zenon_H58; zenon_intro zenon_H60 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H61); [ zenon_intro zenon_H4e | zenon_intro zenon_H64 ].
% 0.39/0.56  apply zenon_H18. exists zenon_TC_db. apply NNPP. zenon_intro zenon_H56.
% 0.39/0.56  generalize (true_only_h zenon_TA_q). zenon_intro zenon_H1a.
% 0.39/0.56  generalize (zenon_H1a zenon_TC_db). zenon_intro zenon_H53.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H53); [ zenon_intro zenon_H56; zenon_intro zenon_H55 | zenon_intro zenon_H52; zenon_intro zenon_H54 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H55); [ zenon_intro zenon_H4d | zenon_intro zenon_H63 ].
% 0.39/0.56  generalize (exhaustion_h zenon_TA_q). zenon_intro zenon_H20.
% 0.39/0.56  apply (zenon_L11_ zenon_TC_db zenon_TA_q); trivial.
% 0.39/0.56  exact (zenon_H63 zenon_H4e).
% 0.39/0.56  exact (zenon_H56 zenon_H52).
% 0.39/0.56  apply (zenon_L13_ zenon_TC_db zenon_TA_q); trivial.
% 0.39/0.56  exact (zenon_H62 zenon_H58).
% 0.39/0.56  exact (zenon_H5d zenon_H59).
% 0.39/0.56  (* end of lemma zenon_L49_ *)
% 0.39/0.56  assert (zenon_L50_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), ((g_true zenon_TA_mt zenon_TB_ms)/\(~(g_false zenon_TA_mt zenon_TB_ms))) -> (~(g_true_only zenon_TA_mt zenon_TB_ms)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H148 zenon_H149.
% 0.39/0.56  generalize (true_only_g zenon_TA_mt). zenon_intro zenon_H14c.
% 0.39/0.56  generalize (zenon_H14c zenon_TB_ms). zenon_intro zenon_H14d.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H14d); [ zenon_intro zenon_H149; zenon_intro zenon_H14f | zenon_intro zenon_H14e; zenon_intro zenon_H148 ].
% 0.39/0.56  exact (zenon_H14f zenon_H148).
% 0.39/0.56  exact (zenon_H149 zenon_H14e).
% 0.39/0.56  (* end of lemma zenon_L50_ *)
% 0.39/0.56  assert (zenon_L51_ : forall (zenon_TB_na : zenon_U) (zenon_TA_mt : zenon_U), (~(~(h_false zenon_TA_mt zenon_TB_na))) -> (~(h_false zenon_TA_mt zenon_TB_na)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H150 zenon_H151.
% 0.39/0.56  exact (zenon_H150 zenon_H151).
% 0.39/0.56  (* end of lemma zenon_L51_ *)
% 0.39/0.56  assert (zenon_L52_ : forall (zenon_TB_na : zenon_U) (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (~(h_false zenon_TA_mt zenon_TB_na)) -> False).
% 0.39/0.56  do 3 intro. intros zenon_H153 zenon_H151.
% 0.39/0.56  apply zenon_H153. exists zenon_TB_na. apply NNPP. zenon_intro zenon_H154.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H154). zenon_intro zenon_H156. zenon_intro zenon_H155.
% 0.39/0.56  generalize (true_only_h zenon_TA_mt). zenon_intro zenon_H157.
% 0.39/0.56  generalize (zenon_H157 zenon_TB_na). zenon_intro zenon_H158.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H158); [ zenon_intro zenon_H155; zenon_intro zenon_H15b | zenon_intro zenon_H15a; zenon_intro zenon_H159 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H15b); [ zenon_intro zenon_H15c | zenon_intro zenon_H150 ].
% 0.39/0.56  generalize (exhaustion_h zenon_TA_mt). zenon_intro zenon_H15d.
% 0.39/0.56  generalize (zenon_H15d zenon_TB_na). zenon_intro zenon_H15e.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H15e); [ zenon_intro zenon_H15a | zenon_intro zenon_H15f ].
% 0.39/0.56  generalize (true_only_h zenon_TA_mt). zenon_intro zenon_H157.
% 0.39/0.56  generalize (zenon_H157 zenon_TB_na). zenon_intro zenon_H158.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H158); [ zenon_intro zenon_H155; zenon_intro zenon_H15b | zenon_intro zenon_H15a; zenon_intro zenon_H159 ].
% 0.39/0.56  exact (zenon_H155 zenon_H15a).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H159). zenon_intro zenon_H160. zenon_intro zenon_H151.
% 0.39/0.56  exact (zenon_H15c zenon_H160).
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H15f); [ zenon_intro zenon_H162 | zenon_intro zenon_H161 ].
% 0.39/0.56  generalize (both_h zenon_TA_mt). zenon_intro zenon_H163.
% 0.39/0.56  generalize (zenon_H163 zenon_TB_na). zenon_intro zenon_H164.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H164); [ zenon_intro zenon_H167; zenon_intro zenon_H166 | zenon_intro zenon_H162; zenon_intro zenon_H165 ].
% 0.39/0.56  exact (zenon_H167 zenon_H162).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H165). zenon_intro zenon_H160. zenon_intro zenon_H168.
% 0.39/0.56  exact (zenon_H15c zenon_H160).
% 0.39/0.56  generalize (false_only_h zenon_TA_mt). zenon_intro zenon_H169.
% 0.39/0.56  generalize (zenon_H169 zenon_TB_na). zenon_intro zenon_H16a.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H16a); [ zenon_intro zenon_H16d; zenon_intro zenon_H16c | zenon_intro zenon_H161; zenon_intro zenon_H16b ].
% 0.39/0.56  exact (zenon_H16d zenon_H161).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H16b). zenon_intro zenon_H168. zenon_intro zenon_H15c.
% 0.39/0.56  exact (zenon_H151 zenon_H168).
% 0.39/0.56  exact (zenon_H150 zenon_H151).
% 0.39/0.56  exact (zenon_H155 zenon_H15a).
% 0.39/0.56  (* end of lemma zenon_L52_ *)
% 0.39/0.56  assert (zenon_L53_ : forall (zenon_TB_ms : zenon_U) (zenon_TB_na : zenon_U) (zenon_TA_mt : zenon_U), (h_true zenon_TA_mt zenon_TB_na) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (~(h_both zenon_TA_mt zenon_TB_na)) -> False).
% 0.39/0.56  do 3 intro. intros zenon_H160 zenon_H153 zenon_H167.
% 0.39/0.56  generalize (both_h zenon_TA_mt). zenon_intro zenon_H163.
% 0.39/0.56  generalize (zenon_H163 zenon_TB_na). zenon_intro zenon_H164.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H164); [ zenon_intro zenon_H167; zenon_intro zenon_H166 | zenon_intro zenon_H162; zenon_intro zenon_H165 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H166); [ zenon_intro zenon_H15c | zenon_intro zenon_H151 ].
% 0.39/0.56  exact (zenon_H15c zenon_H160).
% 0.39/0.56  apply zenon_H153. exists zenon_TB_na. apply NNPP. zenon_intro zenon_H154.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H154). zenon_intro zenon_H156. zenon_intro zenon_H155.
% 0.39/0.56  generalize (true_only_h zenon_TA_mt). zenon_intro zenon_H157.
% 0.39/0.56  generalize (zenon_H157 zenon_TB_na). zenon_intro zenon_H158.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H158); [ zenon_intro zenon_H155; zenon_intro zenon_H15b | zenon_intro zenon_H15a; zenon_intro zenon_H159 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H15b); [ zenon_intro zenon_H15c | zenon_intro zenon_H150 ].
% 0.39/0.56  exact (zenon_H15c zenon_H160).
% 0.39/0.56  exact (zenon_H150 zenon_H151).
% 0.39/0.56  exact (zenon_H155 zenon_H15a).
% 0.39/0.56  exact (zenon_H167 zenon_H162).
% 0.39/0.56  (* end of lemma zenon_L53_ *)
% 0.39/0.56  assert (zenon_L54_ : forall (zenon_TB_na : zenon_U) (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (~(exists B : zenon_U, (h_both zenon_TA_mt B))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (h_true zenon_TA_mt zenon_TB_na) -> False).
% 0.39/0.56  do 3 intro. intros zenon_H16e zenon_H153 zenon_H160.
% 0.39/0.56  apply zenon_H16e. exists zenon_TB_na. apply NNPP. zenon_intro zenon_H167.
% 0.39/0.56  apply (zenon_L53_ zenon_TB_ms zenon_TB_na zenon_TA_mt); trivial.
% 0.39/0.56  (* end of lemma zenon_L54_ *)
% 0.39/0.56  assert (zenon_L55_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (exists B : zenon_U, (h_true_only zenon_TA_mt B)) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H16f zenon_H153.
% 0.39/0.56  elim zenon_H16f. zenon_intro zenon_TB_oe. zenon_intro zenon_H171.
% 0.39/0.56  generalize (true_only_h zenon_TA_mt). zenon_intro zenon_H157.
% 0.39/0.56  generalize (zenon_H157 zenon_TB_oe). zenon_intro zenon_H172.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H172); [ zenon_intro zenon_H175; zenon_intro zenon_H174 | zenon_intro zenon_H171; zenon_intro zenon_H173 ].
% 0.39/0.56  exact (zenon_H175 zenon_H171).
% 0.39/0.56  apply zenon_H153. exists zenon_TB_oe. apply NNPP. zenon_intro zenon_H176.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H176). zenon_intro zenon_H156. zenon_intro zenon_H175.
% 0.39/0.56  generalize (true_only_h zenon_TA_mt). zenon_intro zenon_H157.
% 0.39/0.56  generalize (zenon_H157 zenon_TB_oe). zenon_intro zenon_H172.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H172); [ zenon_intro zenon_H175; zenon_intro zenon_H174 | zenon_intro zenon_H171; zenon_intro zenon_H173 ].
% 0.39/0.56  exact (zenon_H174 zenon_H173).
% 0.39/0.56  exact (zenon_H175 zenon_H171).
% 0.39/0.56  (* end of lemma zenon_L55_ *)
% 0.39/0.56  assert (zenon_L56_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (~(~(exists B : zenon_U, (h_true_only zenon_TA_mt B)))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H177 zenon_H153.
% 0.39/0.56  apply zenon_H177. zenon_intro zenon_H16f.
% 0.39/0.56  apply (zenon_L55_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  (* end of lemma zenon_L56_ *)
% 0.39/0.56  assert (zenon_L57_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (~(((exists B : zenon_U, (h_both zenon_TA_mt B))/\(~(exists B : zenon_U, (h_true_only zenon_TA_mt B))))\/(forall B : zenon_U, (h_false_only zenon_TA_mt B)))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H178 zenon_H153.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H178). zenon_intro zenon_H17a. zenon_intro zenon_H179.
% 0.39/0.56  apply (zenon_notallex_s (fun B : zenon_U => (h_false_only zenon_TA_mt B)) zenon_H179); [ zenon_intro zenon_H17b; idtac ].
% 0.39/0.56  elim zenon_H17b. zenon_intro zenon_TB_na. zenon_intro zenon_H16d.
% 0.39/0.56  generalize (false_only_h zenon_TA_mt). zenon_intro zenon_H169.
% 0.39/0.56  generalize (zenon_H169 zenon_TB_na). zenon_intro zenon_H16a.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H16a); [ zenon_intro zenon_H16d; zenon_intro zenon_H16c | zenon_intro zenon_H161; zenon_intro zenon_H16b ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H16c); [ zenon_intro zenon_H151 | zenon_intro zenon_H17c ].
% 0.39/0.56  apply (zenon_L52_ zenon_TB_na zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply zenon_H17c. zenon_intro zenon_H160.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H17a); [ zenon_intro zenon_H16e | zenon_intro zenon_H177 ].
% 0.39/0.56  apply (zenon_L54_ zenon_TB_na zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L56_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  exact (zenon_H16d zenon_H161).
% 0.39/0.56  (* end of lemma zenon_L57_ *)
% 0.39/0.56  assert (zenon_L58_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (g_true_only zenon_TA_mt zenon_TB_ms) -> (~(exists A : zenon_U, (((exists B : zenon_U, (g_true_only A B))/\(((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B))))\/(forall B : zenon_U, (h_false_only A B))))\/((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\(forall B : zenon_U, (h_false_only A B))))))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H14e zenon_H38 zenon_H153.
% 0.39/0.56  generalize (true_only_g zenon_TA_mt). zenon_intro zenon_H14c.
% 0.39/0.56  generalize (zenon_H14c zenon_TB_ms). zenon_intro zenon_H14d.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H14d); [ zenon_intro zenon_H149; zenon_intro zenon_H14f | zenon_intro zenon_H14e; zenon_intro zenon_H148 ].
% 0.39/0.56  exact (zenon_H149 zenon_H14e).
% 0.39/0.56  apply zenon_H38. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H17d.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H17d). zenon_intro zenon_H17f. zenon_intro zenon_H17e.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H17f); [ zenon_intro zenon_H180 | zenon_intro zenon_H178 ].
% 0.39/0.56  apply zenon_H180. exists zenon_TB_ms. apply NNPP. zenon_intro zenon_H149.
% 0.39/0.56  apply (zenon_L50_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L57_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  (* end of lemma zenon_L58_ *)
% 0.39/0.56  assert (zenon_L59_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), ((g_true zenon_TA_mt zenon_TB_ms)/\(g_false zenon_TA_mt zenon_TB_ms)) -> (~(g_both zenon_TA_mt zenon_TB_ms)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H181 zenon_H182.
% 0.39/0.56  generalize (both_g zenon_TA_mt). zenon_intro zenon_H183.
% 0.39/0.56  generalize (zenon_H183 zenon_TB_ms). zenon_intro zenon_H184.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H184); [ zenon_intro zenon_H182; zenon_intro zenon_H186 | zenon_intro zenon_H185; zenon_intro zenon_H181 ].
% 0.39/0.56  exact (zenon_H186 zenon_H181).
% 0.39/0.56  exact (zenon_H182 zenon_H185).
% 0.39/0.56  (* end of lemma zenon_L59_ *)
% 0.39/0.56  assert (zenon_L60_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (~(exists B : zenon_U, (g_both zenon_TA_mt B))) -> ((g_true zenon_TA_mt zenon_TB_ms)/\(g_false zenon_TA_mt zenon_TB_ms)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H187 zenon_H181.
% 0.39/0.56  apply zenon_H187. exists zenon_TB_ms. apply NNPP. zenon_intro zenon_H182.
% 0.39/0.56  apply (zenon_L59_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  (* end of lemma zenon_L60_ *)
% 0.39/0.56  assert (zenon_L61_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (~((exists B : zenon_U, (g_true_only zenon_TA_mt B))/\(((exists B : zenon_U, (h_both zenon_TA_mt B))/\(~(exists B : zenon_U, (h_true_only zenon_TA_mt B))))\/(forall B : zenon_U, (h_false_only zenon_TA_mt B))))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (exists B : zenon_U, (g_true_only zenon_TA_mt B)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H17f zenon_H153 zenon_H188.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H17f); [ zenon_intro zenon_H180 | zenon_intro zenon_H178 ].
% 0.39/0.56  exact (zenon_H180 zenon_H188).
% 0.39/0.56  apply (zenon_L57_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  (* end of lemma zenon_L61_ *)
% 0.39/0.56  assert (zenon_L62_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (~(exists A : zenon_U, (((exists B : zenon_U, (g_true_only A B))/\(((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B))))\/(forall B : zenon_U, (h_false_only A B))))\/((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\(forall B : zenon_U, (h_false_only A B))))))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (exists B : zenon_U, (g_true_only zenon_TA_mt B)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H38 zenon_H153 zenon_H188.
% 0.39/0.56  apply zenon_H38. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H17d.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H17d). zenon_intro zenon_H17f. zenon_intro zenon_H17e.
% 0.39/0.56  apply (zenon_L61_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  (* end of lemma zenon_L62_ *)
% 0.39/0.56  assert (zenon_L63_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (~(forall B : zenon_U, (h_false_only zenon_TA_mt B))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (~(exists B : zenon_U, (h_both zenon_TA_mt B))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H179 zenon_H153 zenon_H16e.
% 0.39/0.56  apply (zenon_notallex_s (fun B : zenon_U => (h_false_only zenon_TA_mt B)) zenon_H179); [ zenon_intro zenon_H17b; idtac ].
% 0.39/0.56  elim zenon_H17b. zenon_intro zenon_TB_na. zenon_intro zenon_H16d.
% 0.39/0.56  generalize (false_only_h zenon_TA_mt). zenon_intro zenon_H169.
% 0.39/0.56  generalize (zenon_H169 zenon_TB_na). zenon_intro zenon_H16a.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H16a); [ zenon_intro zenon_H16d; zenon_intro zenon_H16c | zenon_intro zenon_H161; zenon_intro zenon_H16b ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H16c); [ zenon_intro zenon_H151 | zenon_intro zenon_H17c ].
% 0.39/0.56  apply (zenon_L52_ zenon_TB_na zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply zenon_H17c. zenon_intro zenon_H160.
% 0.39/0.56  apply (zenon_L54_ zenon_TB_na zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  exact (zenon_H16d zenon_H161).
% 0.39/0.56  (* end of lemma zenon_L63_ *)
% 0.39/0.56  assert (zenon_L64_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (g_both zenon_TA_mt zenon_TB_ms) -> (~(exists A : zenon_U, ((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B)))))))) -> (~(exists A : zenon_U, (((exists B : zenon_U, (g_true_only A B))/\(((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B))))\/(forall B : zenon_U, (h_false_only A B))))\/((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\(forall B : zenon_U, (h_false_only A B))))))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H185 zenon_H6f zenon_H38 zenon_H153.
% 0.39/0.56  generalize (both_g zenon_TA_mt). zenon_intro zenon_H183.
% 0.39/0.56  generalize (zenon_H183 zenon_TB_ms). zenon_intro zenon_H184.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H184); [ zenon_intro zenon_H182; zenon_intro zenon_H186 | zenon_intro zenon_H185; zenon_intro zenon_H181 ].
% 0.39/0.56  exact (zenon_H182 zenon_H185).
% 0.39/0.56  apply zenon_H6f. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H189.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H189); [ zenon_intro zenon_H187 | zenon_intro zenon_H18a ].
% 0.39/0.56  apply (zenon_L60_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H18a); [ zenon_intro zenon_H18b | zenon_intro zenon_H17a ].
% 0.39/0.56  apply zenon_H18b. zenon_intro zenon_H188.
% 0.39/0.56  apply (zenon_L62_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H17a); [ zenon_intro zenon_H16e | zenon_intro zenon_H177 ].
% 0.39/0.56  apply zenon_H38. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H17d.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H17d). zenon_intro zenon_H17f. zenon_intro zenon_H17e.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H17e); [ zenon_intro zenon_H187 | zenon_intro zenon_H18c ].
% 0.39/0.56  apply (zenon_L60_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H18c); [ zenon_intro zenon_H18b | zenon_intro zenon_H179 ].
% 0.39/0.56  apply zenon_H18b. zenon_intro zenon_H188.
% 0.39/0.56  apply (zenon_L61_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L63_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply zenon_H177. zenon_intro zenon_H16f.
% 0.39/0.56  apply (zenon_L55_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  (* end of lemma zenon_L64_ *)
% 0.39/0.56  assert (zenon_L65_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (g_false_only zenon_TA_mt zenon_TB_ms) -> (~(g_false zenon_TA_mt zenon_TB_ms)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H18d zenon_H18e.
% 0.39/0.56  generalize (false_only_g zenon_TA_mt). zenon_intro zenon_H18f.
% 0.39/0.56  generalize (zenon_H18f zenon_TB_ms). zenon_intro zenon_H190.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H190); [ zenon_intro zenon_H156; zenon_intro zenon_H192 | zenon_intro zenon_H18d; zenon_intro zenon_H191 ].
% 0.39/0.56  exact (zenon_H156 zenon_H18d).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H191). zenon_intro zenon_H194. zenon_intro zenon_H193.
% 0.39/0.56  exact (zenon_H18e zenon_H194).
% 0.39/0.56  (* end of lemma zenon_L65_ *)
% 0.39/0.56  assert (zenon_L66_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (g_false_only zenon_TA_mt zenon_TB_ms) -> (g_true zenon_TA_mt zenon_TB_ms) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H18d zenon_H195.
% 0.39/0.56  generalize (false_only_g zenon_TA_mt). zenon_intro zenon_H18f.
% 0.39/0.56  generalize (zenon_H18f zenon_TB_ms). zenon_intro zenon_H190.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H190); [ zenon_intro zenon_H156; zenon_intro zenon_H192 | zenon_intro zenon_H18d; zenon_intro zenon_H191 ].
% 0.39/0.56  exact (zenon_H156 zenon_H18d).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H191). zenon_intro zenon_H194. zenon_intro zenon_H193.
% 0.39/0.56  exact (zenon_H193 zenon_H195).
% 0.39/0.56  (* end of lemma zenon_L66_ *)
% 0.39/0.56  assert (zenon_L67_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (~(~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C))))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H196 zenon_H153.
% 0.39/0.56  exact (zenon_H196 zenon_H153).
% 0.39/0.56  (* end of lemma zenon_L67_ *)
% 0.39/0.56  assert (zenon_L68_ : forall (zenon_TB_na : zenon_U) (zenon_TA_mt : zenon_U), (h_false_only zenon_TA_mt zenon_TB_na) -> (h_true zenon_TA_mt zenon_TB_na) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H161 zenon_H160.
% 0.39/0.56  generalize (false_only_h zenon_TA_mt). zenon_intro zenon_H169.
% 0.39/0.56  generalize (zenon_H169 zenon_TB_na). zenon_intro zenon_H16a.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H16a); [ zenon_intro zenon_H16d; zenon_intro zenon_H16c | zenon_intro zenon_H161; zenon_intro zenon_H16b ].
% 0.39/0.56  exact (zenon_H16d zenon_H161).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H16b). zenon_intro zenon_H168. zenon_intro zenon_H15c.
% 0.39/0.56  exact (zenon_H15c zenon_H160).
% 0.39/0.56  (* end of lemma zenon_L68_ *)
% 0.39/0.56  assert (zenon_L69_ : forall (zenon_TB_na : zenon_U) (zenon_TB_ps : zenon_U) (zenon_TA_mt : zenon_U), ((g_both zenon_TA_mt zenon_TB_ps)/\(h_false_only zenon_TA_mt zenon_TB_na)) -> (h_true zenon_TA_mt zenon_TB_na) -> False).
% 0.39/0.56  do 3 intro. intros zenon_H197 zenon_H160.
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H197). zenon_intro zenon_H199. zenon_intro zenon_H161.
% 0.39/0.56  apply (zenon_L68_ zenon_TB_na zenon_TA_mt); trivial.
% 0.39/0.56  (* end of lemma zenon_L69_ *)
% 0.39/0.56  assert (zenon_L70_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (g_both zenon_TA_mt zenon_TB_ms) -> (~(exists A : zenon_U, (((exists B : zenon_U, (g_true_only A B))/\(((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B))))\/(forall B : zenon_U, (h_false_only A B))))\/((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\(forall B : zenon_U, (h_false_only A B))))))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (~(exists A : zenon_U, ((exists B : zenon_U, ((exists C : zenon_U, ((g_both A B)/\(h_both A C)))/\(~(exists C : zenon_U, ((g_false_only A B)\/(h_true_only A C))))))/\(~(exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C))))))))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H185 zenon_H38 zenon_H153 zenon_H19a.
% 0.39/0.56  generalize (both_g zenon_TA_mt). zenon_intro zenon_H183.
% 0.39/0.56  generalize (zenon_H183 zenon_TB_ms). zenon_intro zenon_H184.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H184); [ zenon_intro zenon_H182; zenon_intro zenon_H186 | zenon_intro zenon_H185; zenon_intro zenon_H181 ].
% 0.39/0.56  exact (zenon_H182 zenon_H185).
% 0.39/0.56  apply zenon_H38. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H17d.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H17d). zenon_intro zenon_H17f. zenon_intro zenon_H17e.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H17f); [ zenon_intro zenon_H180 | zenon_intro zenon_H178 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H17e); [ zenon_intro zenon_H187 | zenon_intro zenon_H18c ].
% 0.39/0.56  apply (zenon_L60_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H18c); [ zenon_intro zenon_H18b | zenon_intro zenon_H179 ].
% 0.39/0.56  apply zenon_H18b. zenon_intro zenon_H188.
% 0.39/0.56  apply (zenon_L62_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_notallex_s (fun B : zenon_U => (h_false_only zenon_TA_mt B)) zenon_H179); [ zenon_intro zenon_H17b; idtac ].
% 0.39/0.56  elim zenon_H17b. zenon_intro zenon_TB_na. zenon_intro zenon_H16d.
% 0.39/0.56  generalize (false_only_h zenon_TA_mt). zenon_intro zenon_H169.
% 0.39/0.56  generalize (zenon_H169 zenon_TB_na). zenon_intro zenon_H16a.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H16a); [ zenon_intro zenon_H16d; zenon_intro zenon_H16c | zenon_intro zenon_H161; zenon_intro zenon_H16b ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H16c); [ zenon_intro zenon_H151 | zenon_intro zenon_H17c ].
% 0.39/0.56  apply (zenon_L52_ zenon_TB_na zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply zenon_H17c. zenon_intro zenon_H160.
% 0.39/0.56  apply zenon_H19a. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H19b.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H19b); [ zenon_intro zenon_H19d | zenon_intro zenon_H19c ].
% 0.39/0.56  apply zenon_H19d. exists zenon_TB_ms. apply NNPP. zenon_intro zenon_H19e.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H19e); [ zenon_intro zenon_H19f | zenon_intro zenon_H196 ].
% 0.39/0.56  apply zenon_H19f. exists zenon_TB_na. apply NNPP. zenon_intro zenon_H1a0.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1a0); [ zenon_intro zenon_H182 | zenon_intro zenon_H167 ].
% 0.39/0.56  apply (zenon_L59_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L53_ zenon_TB_ms zenon_TB_na zenon_TA_mt); trivial.
% 0.39/0.56  exact (zenon_H196 zenon_H153).
% 0.39/0.56  apply zenon_H19c. zenon_intro zenon_H1a1.
% 0.39/0.56  elim zenon_H1a1. zenon_intro zenon_TB_ps. zenon_intro zenon_H3.
% 0.39/0.56  generalize (zenon_H3 zenon_E). zenon_intro zenon_H1a2.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H1a2); [ zenon_intro zenon_H1a4 | zenon_intro zenon_H1a3 ].
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H1a4). zenon_intro zenon_H1a6. zenon_intro zenon_H1a5.
% 0.39/0.56  generalize (true_only_g zenon_TA_mt). zenon_intro zenon_H14c.
% 0.39/0.56  generalize (zenon_H14c zenon_TB_ps). zenon_intro zenon_H1a7.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1a7); [ zenon_intro zenon_H1aa; zenon_intro zenon_H1a9 | zenon_intro zenon_H1a6; zenon_intro zenon_H1a8 ].
% 0.39/0.56  exact (zenon_H1aa zenon_H1a6).
% 0.39/0.56  apply zenon_H180. exists zenon_TB_ps. apply NNPP. zenon_intro zenon_H1aa.
% 0.39/0.56  generalize (true_only_g zenon_TA_mt). zenon_intro zenon_H14c.
% 0.39/0.56  generalize (zenon_H14c zenon_TB_ps). zenon_intro zenon_H1a7.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1a7); [ zenon_intro zenon_H1aa; zenon_intro zenon_H1a9 | zenon_intro zenon_H1a6; zenon_intro zenon_H1a8 ].
% 0.39/0.56  exact (zenon_H1a9 zenon_H1a8).
% 0.39/0.56  exact (zenon_H1aa zenon_H1a6).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H1a3). zenon_intro zenon_H199. zenon_intro zenon_H1ab.
% 0.39/0.56  generalize (both_g zenon_TA_mt). zenon_intro zenon_H183.
% 0.39/0.56  generalize (zenon_H183 zenon_TB_ps). zenon_intro zenon_H1ac.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1ac); [ zenon_intro zenon_H1af; zenon_intro zenon_H1ae | zenon_intro zenon_H199; zenon_intro zenon_H1ad ].
% 0.39/0.56  exact (zenon_H1af zenon_H199).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H1ad). zenon_intro zenon_H1b1. zenon_intro zenon_H1b0.
% 0.39/0.56  generalize (zenon_H3 zenon_TB_na). zenon_intro zenon_H1b2.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H1b2); [ zenon_intro zenon_H1b3 | zenon_intro zenon_H197 ].
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H1b3). zenon_intro zenon_H1a6. zenon_intro zenon_H15f.
% 0.39/0.56  generalize (true_only_g zenon_TA_mt). zenon_intro zenon_H14c.
% 0.39/0.56  generalize (zenon_H14c zenon_TB_ps). zenon_intro zenon_H1a7.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1a7); [ zenon_intro zenon_H1aa; zenon_intro zenon_H1a9 | zenon_intro zenon_H1a6; zenon_intro zenon_H1a8 ].
% 0.39/0.56  exact (zenon_H1aa zenon_H1a6).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H1a8). zenon_intro zenon_H1b1. zenon_intro zenon_H1b4.
% 0.39/0.56  exact (zenon_H1b4 zenon_H1b0).
% 0.39/0.56  apply (zenon_L69_ zenon_TB_na zenon_TB_ps zenon_TA_mt); trivial.
% 0.39/0.56  exact (zenon_H16d zenon_H161).
% 0.39/0.56  apply (zenon_L57_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  (* end of lemma zenon_L70_ *)
% 0.39/0.56  assert (zenon_L71_ : forall (zenon_TC_qx : zenon_U) (zenon_TA_mt : zenon_U), (~(~(h_false zenon_TA_mt zenon_TC_qx))) -> (~(h_false zenon_TA_mt zenon_TC_qx)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H1b5 zenon_H1b6.
% 0.39/0.56  exact (zenon_H1b5 zenon_H1b6).
% 0.39/0.56  (* end of lemma zenon_L71_ *)
% 0.39/0.56  assert (zenon_L72_ : forall (zenon_TC_qx : zenon_U) (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (forall X_1 : zenon_U, ((h_true_only zenon_TA_mt X_1)\/((h_both zenon_TA_mt X_1)\/(h_false_only zenon_TA_mt X_1)))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (~(h_false_only zenon_TA_mt zenon_TC_qx)) -> (~(h_both zenon_TA_mt zenon_TC_qx)) -> False).
% 0.39/0.56  do 3 intro. intros zenon_H15d zenon_H153 zenon_H1b8 zenon_H1b9.
% 0.39/0.56  generalize (both_h zenon_TA_mt). zenon_intro zenon_H163.
% 0.39/0.56  generalize (zenon_H163 zenon_TC_qx). zenon_intro zenon_H1ba.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1ba); [ zenon_intro zenon_H1b9; zenon_intro zenon_H1bd | zenon_intro zenon_H1bc; zenon_intro zenon_H1bb ].
% 0.39/0.56  generalize (false_only_h zenon_TA_mt). zenon_intro zenon_H169.
% 0.39/0.56  generalize (zenon_H169 zenon_TC_qx). zenon_intro zenon_H1be.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1be); [ zenon_intro zenon_H1b8; zenon_intro zenon_H1c1 | zenon_intro zenon_H1c0; zenon_intro zenon_H1bf ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1c1); [ zenon_intro zenon_H1b6 | zenon_intro zenon_H1c2 ].
% 0.39/0.56  apply zenon_H153. exists zenon_TC_qx. apply NNPP. zenon_intro zenon_H1c3.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H1c3). zenon_intro zenon_H156. zenon_intro zenon_H1c4.
% 0.39/0.56  generalize (true_only_h zenon_TA_mt). zenon_intro zenon_H157.
% 0.39/0.56  generalize (zenon_H157 zenon_TC_qx). zenon_intro zenon_H1c5.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1c5); [ zenon_intro zenon_H1c4; zenon_intro zenon_H1c8 | zenon_intro zenon_H1c7; zenon_intro zenon_H1c6 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1c8); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H1b5 ].
% 0.39/0.56  generalize (zenon_H15d zenon_TC_qx). zenon_intro zenon_H1ca.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H1ca); [ zenon_intro zenon_H1c7 | zenon_intro zenon_H1cb ].
% 0.39/0.56  generalize (true_only_h zenon_TA_mt). zenon_intro zenon_H157.
% 0.39/0.56  generalize (zenon_H157 zenon_TC_qx). zenon_intro zenon_H1c5.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1c5); [ zenon_intro zenon_H1c4; zenon_intro zenon_H1c8 | zenon_intro zenon_H1c7; zenon_intro zenon_H1c6 ].
% 0.39/0.56  exact (zenon_H1c4 zenon_H1c7).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H1c6). zenon_intro zenon_H1cc. zenon_intro zenon_H1b6.
% 0.39/0.56  exact (zenon_H1c9 zenon_H1cc).
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H1cb); [ zenon_intro zenon_H1bc | zenon_intro zenon_H1c0 ].
% 0.39/0.56  generalize (both_h zenon_TA_mt). zenon_intro zenon_H163.
% 0.39/0.56  generalize (zenon_H163 zenon_TC_qx). zenon_intro zenon_H1ba.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1ba); [ zenon_intro zenon_H1b9; zenon_intro zenon_H1bd | zenon_intro zenon_H1bc; zenon_intro zenon_H1bb ].
% 0.39/0.56  exact (zenon_H1b9 zenon_H1bc).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H1bb). zenon_intro zenon_H1cc. zenon_intro zenon_H1cd.
% 0.39/0.56  exact (zenon_H1c9 zenon_H1cc).
% 0.39/0.56  generalize (false_only_h zenon_TA_mt). zenon_intro zenon_H169.
% 0.39/0.56  generalize (zenon_H169 zenon_TC_qx). zenon_intro zenon_H1be.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1be); [ zenon_intro zenon_H1b8; zenon_intro zenon_H1c1 | zenon_intro zenon_H1c0; zenon_intro zenon_H1bf ].
% 0.39/0.56  exact (zenon_H1b8 zenon_H1c0).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H1bf). zenon_intro zenon_H1cd. zenon_intro zenon_H1c9.
% 0.39/0.56  exact (zenon_H1b6 zenon_H1cd).
% 0.39/0.56  exact (zenon_H1b5 zenon_H1b6).
% 0.39/0.56  exact (zenon_H1c4 zenon_H1c7).
% 0.39/0.56  apply zenon_H1c2. zenon_intro zenon_H1cc.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1bd); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H1b6 ].
% 0.39/0.56  exact (zenon_H1c9 zenon_H1cc).
% 0.39/0.56  apply zenon_H153. exists zenon_TC_qx. apply NNPP. zenon_intro zenon_H1c3.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H1c3). zenon_intro zenon_H156. zenon_intro zenon_H1c4.
% 0.39/0.56  generalize (true_only_h zenon_TA_mt). zenon_intro zenon_H157.
% 0.39/0.56  generalize (zenon_H157 zenon_TC_qx). zenon_intro zenon_H1c5.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1c5); [ zenon_intro zenon_H1c4; zenon_intro zenon_H1c8 | zenon_intro zenon_H1c7; zenon_intro zenon_H1c6 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1c8); [ zenon_intro zenon_H1c9 | zenon_intro zenon_H1b5 ].
% 0.39/0.56  exact (zenon_H1c9 zenon_H1cc).
% 0.39/0.56  exact (zenon_H1b5 zenon_H1b6).
% 0.39/0.56  exact (zenon_H1c4 zenon_H1c7).
% 0.39/0.56  exact (zenon_H1b8 zenon_H1c0).
% 0.39/0.56  exact (zenon_H1b9 zenon_H1bc).
% 0.39/0.56  (* end of lemma zenon_L72_ *)
% 0.39/0.56  assert (zenon_L73_ : forall (zenon_TB_ms : zenon_U) (zenon_TC_qx : zenon_U) (zenon_TA_mt : zenon_U), (~((h_both zenon_TA_mt zenon_TC_qx)\/(h_false_only zenon_TA_mt zenon_TC_qx))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (forall X_1 : zenon_U, ((h_true_only zenon_TA_mt X_1)\/((h_both zenon_TA_mt X_1)\/(h_false_only zenon_TA_mt X_1)))) -> False).
% 0.39/0.56  do 3 intro. intros zenon_H1ce zenon_H153 zenon_H15d.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H1ce). zenon_intro zenon_H1b9. zenon_intro zenon_H1b8.
% 0.39/0.56  apply (zenon_L72_ zenon_TC_qx zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  (* end of lemma zenon_L73_ *)
% 0.39/0.56  assert (zenon_L74_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (g_true_only zenon_TA_mt zenon_TB_ms) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (~(exists A : zenon_U, (exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C))))))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H14e zenon_H153 zenon_H66.
% 0.39/0.56  generalize (true_only_g zenon_TA_mt). zenon_intro zenon_H14c.
% 0.39/0.56  generalize (zenon_H14c zenon_TB_ms). zenon_intro zenon_H14d.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H14d); [ zenon_intro zenon_H149; zenon_intro zenon_H14f | zenon_intro zenon_H14e; zenon_intro zenon_H148 ].
% 0.39/0.56  exact (zenon_H149 zenon_H14e).
% 0.39/0.56  generalize (exhaustion_h zenon_TA_mt). zenon_intro zenon_H15d.
% 0.39/0.56  apply zenon_H66. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H1cf.
% 0.39/0.56  apply zenon_H1cf. exists zenon_TB_ms. apply NNPP. zenon_intro zenon_H1d0.
% 0.39/0.56  apply (zenon_notallex_s (fun C : zenon_U => (((g_true_only zenon_TA_mt zenon_TB_ms)/\((h_both zenon_TA_mt C)\/(h_false_only zenon_TA_mt C)))\/((g_both zenon_TA_mt zenon_TB_ms)/\(h_false_only zenon_TA_mt C)))) zenon_H1d0); [ zenon_intro zenon_H1d1; idtac ].
% 0.39/0.56  elim zenon_H1d1. zenon_intro zenon_TC_qx. zenon_intro zenon_H1d2.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H1d2). zenon_intro zenon_H1d4. zenon_intro zenon_H1d3.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1d4); [ zenon_intro zenon_H149 | zenon_intro zenon_H1ce ].
% 0.39/0.56  apply (zenon_L50_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L73_ zenon_TB_ms zenon_TC_qx zenon_TA_mt); trivial.
% 0.39/0.56  (* end of lemma zenon_L74_ *)
% 0.39/0.56  assert (zenon_L75_ : forall (zenon_TC_sd : zenon_U) (zenon_TA_mt : zenon_U), (~(~(h_false zenon_TA_mt zenon_TC_sd))) -> (~(h_false zenon_TA_mt zenon_TC_sd)) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H1d5 zenon_H1d6.
% 0.39/0.56  exact (zenon_H1d5 zenon_H1d6).
% 0.39/0.56  (* end of lemma zenon_L75_ *)
% 0.39/0.56  assert (zenon_L76_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (exists B : zenon_U, (g_true_only zenon_TA_mt B)) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (~(exists A : zenon_U, (exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C))))))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H188 zenon_H153 zenon_H66.
% 0.39/0.56  elim zenon_H188. zenon_intro zenon_TB_se. zenon_intro zenon_H1d9.
% 0.39/0.56  generalize (true_only_g zenon_TA_mt). zenon_intro zenon_H14c.
% 0.39/0.56  generalize (zenon_H14c zenon_TB_se). zenon_intro zenon_H1da.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1da); [ zenon_intro zenon_H1dd; zenon_intro zenon_H1dc | zenon_intro zenon_H1d9; zenon_intro zenon_H1db ].
% 0.39/0.56  exact (zenon_H1dd zenon_H1d9).
% 0.39/0.56  generalize (exhaustion_h zenon_TA_mt). zenon_intro zenon_H15d.
% 0.39/0.56  apply zenon_H66. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H1cf.
% 0.39/0.56  apply zenon_H1cf. exists zenon_TB_se. apply NNPP. zenon_intro zenon_H1de.
% 0.39/0.56  apply (zenon_notallex_s (fun C : zenon_U => (((g_true_only zenon_TA_mt zenon_TB_se)/\((h_both zenon_TA_mt C)\/(h_false_only zenon_TA_mt C)))\/((g_both zenon_TA_mt zenon_TB_se)/\(h_false_only zenon_TA_mt C)))) zenon_H1de); [ zenon_intro zenon_H1df; idtac ].
% 0.39/0.56  elim zenon_H1df. zenon_intro zenon_TC_sd. zenon_intro zenon_H1e0.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H1e0). zenon_intro zenon_H1e2. zenon_intro zenon_H1e1.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1e2); [ zenon_intro zenon_H1dd | zenon_intro zenon_H1e3 ].
% 0.39/0.56  generalize (true_only_g zenon_TA_mt). zenon_intro zenon_H14c.
% 0.39/0.56  generalize (zenon_H14c zenon_TB_se). zenon_intro zenon_H1da.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1da); [ zenon_intro zenon_H1dd; zenon_intro zenon_H1dc | zenon_intro zenon_H1d9; zenon_intro zenon_H1db ].
% 0.39/0.56  exact (zenon_H1dc zenon_H1db).
% 0.39/0.56  exact (zenon_H1dd zenon_H1d9).
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H1e3). zenon_intro zenon_H1e5. zenon_intro zenon_H1e4.
% 0.39/0.56  generalize (both_h zenon_TA_mt). zenon_intro zenon_H163.
% 0.39/0.56  generalize (zenon_H163 zenon_TC_sd). zenon_intro zenon_H1e6.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1e6); [ zenon_intro zenon_H1e5; zenon_intro zenon_H1e9 | zenon_intro zenon_H1e8; zenon_intro zenon_H1e7 ].
% 0.39/0.56  generalize (false_only_h zenon_TA_mt). zenon_intro zenon_H169.
% 0.39/0.56  generalize (zenon_H169 zenon_TC_sd). zenon_intro zenon_H1ea.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1ea); [ zenon_intro zenon_H1e4; zenon_intro zenon_H1ed | zenon_intro zenon_H1ec; zenon_intro zenon_H1eb ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1ed); [ zenon_intro zenon_H1d6 | zenon_intro zenon_H1ee ].
% 0.39/0.56  apply zenon_H153. exists zenon_TC_sd. apply NNPP. zenon_intro zenon_H1ef.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H1ef). zenon_intro zenon_H156. zenon_intro zenon_H1f0.
% 0.39/0.56  generalize (true_only_h zenon_TA_mt). zenon_intro zenon_H157.
% 0.39/0.56  generalize (zenon_H157 zenon_TC_sd). zenon_intro zenon_H1f1.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1f1); [ zenon_intro zenon_H1f0; zenon_intro zenon_H1f4 | zenon_intro zenon_H1f3; zenon_intro zenon_H1f2 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1f4); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1d5 ].
% 0.39/0.56  generalize (zenon_H15d zenon_TC_sd). zenon_intro zenon_H1f6.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H1f6); [ zenon_intro zenon_H1f3 | zenon_intro zenon_H1f7 ].
% 0.39/0.56  generalize (true_only_h zenon_TA_mt). zenon_intro zenon_H157.
% 0.39/0.56  generalize (zenon_H157 zenon_TC_sd). zenon_intro zenon_H1f1.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1f1); [ zenon_intro zenon_H1f0; zenon_intro zenon_H1f4 | zenon_intro zenon_H1f3; zenon_intro zenon_H1f2 ].
% 0.39/0.56  exact (zenon_H1f0 zenon_H1f3).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H1f2). zenon_intro zenon_H1f8. zenon_intro zenon_H1d6.
% 0.39/0.56  exact (zenon_H1f5 zenon_H1f8).
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H1f7); [ zenon_intro zenon_H1e8 | zenon_intro zenon_H1ec ].
% 0.39/0.56  generalize (both_h zenon_TA_mt). zenon_intro zenon_H163.
% 0.39/0.56  generalize (zenon_H163 zenon_TC_sd). zenon_intro zenon_H1e6.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1e6); [ zenon_intro zenon_H1e5; zenon_intro zenon_H1e9 | zenon_intro zenon_H1e8; zenon_intro zenon_H1e7 ].
% 0.39/0.56  exact (zenon_H1e5 zenon_H1e8).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H1e7). zenon_intro zenon_H1f8. zenon_intro zenon_H1f9.
% 0.39/0.56  exact (zenon_H1f5 zenon_H1f8).
% 0.39/0.56  generalize (false_only_h zenon_TA_mt). zenon_intro zenon_H169.
% 0.39/0.56  generalize (zenon_H169 zenon_TC_sd). zenon_intro zenon_H1ea.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1ea); [ zenon_intro zenon_H1e4; zenon_intro zenon_H1ed | zenon_intro zenon_H1ec; zenon_intro zenon_H1eb ].
% 0.39/0.56  exact (zenon_H1e4 zenon_H1ec).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H1eb). zenon_intro zenon_H1f9. zenon_intro zenon_H1f5.
% 0.39/0.56  exact (zenon_H1d6 zenon_H1f9).
% 0.39/0.56  exact (zenon_H1d5 zenon_H1d6).
% 0.39/0.56  exact (zenon_H1f0 zenon_H1f3).
% 0.39/0.56  apply zenon_H1ee. zenon_intro zenon_H1f8.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1e9); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1d6 ].
% 0.39/0.56  exact (zenon_H1f5 zenon_H1f8).
% 0.39/0.56  apply zenon_H153. exists zenon_TC_sd. apply NNPP. zenon_intro zenon_H1ef.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H1ef). zenon_intro zenon_H156. zenon_intro zenon_H1f0.
% 0.39/0.56  generalize (true_only_h zenon_TA_mt). zenon_intro zenon_H157.
% 0.39/0.56  generalize (zenon_H157 zenon_TC_sd). zenon_intro zenon_H1f1.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H1f1); [ zenon_intro zenon_H1f0; zenon_intro zenon_H1f4 | zenon_intro zenon_H1f3; zenon_intro zenon_H1f2 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1f4); [ zenon_intro zenon_H1f5 | zenon_intro zenon_H1d5 ].
% 0.39/0.56  exact (zenon_H1f5 zenon_H1f8).
% 0.39/0.56  exact (zenon_H1d5 zenon_H1d6).
% 0.39/0.56  exact (zenon_H1f0 zenon_H1f3).
% 0.39/0.56  exact (zenon_H1e4 zenon_H1ec).
% 0.39/0.56  exact (zenon_H1e5 zenon_H1e8).
% 0.39/0.56  (* end of lemma zenon_L76_ *)
% 0.39/0.56  assert (zenon_L77_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (g_both zenon_TA_mt zenon_TB_ms) -> (~(exists A : zenon_U, ((exists B : zenon_U, (g_both A B))/\((~(exists B : zenon_U, (g_true_only A B)))/\((exists B : zenon_U, (h_both A B))/\(~(exists B : zenon_U, (h_true_only A B)))))))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (~(exists A : zenon_U, (exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C))))))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H185 zenon_H6f zenon_H153 zenon_H66.
% 0.39/0.56  generalize (both_g zenon_TA_mt). zenon_intro zenon_H183.
% 0.39/0.56  generalize (zenon_H183 zenon_TB_ms). zenon_intro zenon_H184.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H184); [ zenon_intro zenon_H182; zenon_intro zenon_H186 | zenon_intro zenon_H185; zenon_intro zenon_H181 ].
% 0.39/0.56  exact (zenon_H182 zenon_H185).
% 0.39/0.56  apply zenon_H6f. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H189.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H189); [ zenon_intro zenon_H187 | zenon_intro zenon_H18a ].
% 0.39/0.56  apply (zenon_L60_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H18a); [ zenon_intro zenon_H18b | zenon_intro zenon_H17a ].
% 0.39/0.56  apply zenon_H18b. zenon_intro zenon_H188.
% 0.39/0.56  apply (zenon_L76_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H17a); [ zenon_intro zenon_H16e | zenon_intro zenon_H177 ].
% 0.39/0.56  generalize (exhaustion_h zenon_TA_mt). zenon_intro zenon_H15d.
% 0.39/0.56  apply zenon_H66. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H1cf.
% 0.39/0.56  apply zenon_H1cf. exists zenon_TB_ms. apply NNPP. zenon_intro zenon_H1d0.
% 0.39/0.56  apply (zenon_notallex_s (fun C : zenon_U => (((g_true_only zenon_TA_mt zenon_TB_ms)/\((h_both zenon_TA_mt C)\/(h_false_only zenon_TA_mt C)))\/((g_both zenon_TA_mt zenon_TB_ms)/\(h_false_only zenon_TA_mt C)))) zenon_H1d0); [ zenon_intro zenon_H1d1; idtac ].
% 0.39/0.56  elim zenon_H1d1. zenon_intro zenon_TC_qx. zenon_intro zenon_H1d2.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H1d2). zenon_intro zenon_H1d4. zenon_intro zenon_H1d3.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1d3); [ zenon_intro zenon_H182 | zenon_intro zenon_H1b8 ].
% 0.39/0.56  apply (zenon_L59_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply zenon_H16e. exists zenon_TC_qx. apply NNPP. zenon_intro zenon_H1b9.
% 0.39/0.56  apply (zenon_L72_ zenon_TC_qx zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply zenon_H177. zenon_intro zenon_H16f.
% 0.39/0.56  apply (zenon_L55_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  (* end of lemma zenon_L77_ *)
% 0.39/0.56  assert (zenon_L78_ : forall (zenon_TB_ms : zenon_U) (zenon_TA_mt : zenon_U), (g_both zenon_TA_mt zenon_TB_ms) -> (~(exists A : zenon_U, ((exists B : zenon_U, ((exists C : zenon_U, ((g_both A B)/\(h_both A C)))/\(~(exists C : zenon_U, ((g_false_only A B)\/(h_true_only A C))))))/\(~(exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C))))))))) -> (~(exists C : zenon_U, ((g_false_only zenon_TA_mt zenon_TB_ms)\/(h_true_only zenon_TA_mt C)))) -> (~(exists A : zenon_U, (exists B : zenon_U, (forall C : zenon_U, (((g_true_only A B)/\((h_both A C)\/(h_false_only A C)))\/((g_both A B)/\(h_false_only A C))))))) -> False).
% 0.39/0.56  do 2 intro. intros zenon_H185 zenon_H19a zenon_H153 zenon_H66.
% 0.39/0.56  generalize (both_g zenon_TA_mt). zenon_intro zenon_H183.
% 0.39/0.56  generalize (zenon_H183 zenon_TB_ms). zenon_intro zenon_H184.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H184); [ zenon_intro zenon_H182; zenon_intro zenon_H186 | zenon_intro zenon_H185; zenon_intro zenon_H181 ].
% 0.39/0.56  exact (zenon_H182 zenon_H185).
% 0.39/0.56  apply zenon_H19a. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H19b.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H19b); [ zenon_intro zenon_H19d | zenon_intro zenon_H19c ].
% 0.39/0.56  apply zenon_H19d. exists zenon_TB_ms. apply NNPP. zenon_intro zenon_H19e.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H19e); [ zenon_intro zenon_H19f | zenon_intro zenon_H196 ].
% 0.39/0.56  generalize (exhaustion_h zenon_TA_mt). zenon_intro zenon_H15d.
% 0.39/0.56  apply zenon_H66. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H1cf.
% 0.39/0.56  apply zenon_H1cf. exists zenon_TB_ms. apply NNPP. zenon_intro zenon_H1d0.
% 0.39/0.56  apply (zenon_notallex_s (fun C : zenon_U => (((g_true_only zenon_TA_mt zenon_TB_ms)/\((h_both zenon_TA_mt C)\/(h_false_only zenon_TA_mt C)))\/((g_both zenon_TA_mt zenon_TB_ms)/\(h_false_only zenon_TA_mt C)))) zenon_H1d0); [ zenon_intro zenon_H1d1; idtac ].
% 0.39/0.56  elim zenon_H1d1. zenon_intro zenon_TC_qx. zenon_intro zenon_H1d2.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H1d2). zenon_intro zenon_H1d4. zenon_intro zenon_H1d3.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1d3); [ zenon_intro zenon_H182 | zenon_intro zenon_H1b8 ].
% 0.39/0.56  apply (zenon_L59_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply zenon_H19f. exists zenon_TC_qx. apply NNPP. zenon_intro zenon_H1fa.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1fa); [ zenon_intro zenon_H182 | zenon_intro zenon_H1b9 ].
% 0.39/0.56  apply (zenon_L59_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L72_ zenon_TC_qx zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  exact (zenon_H196 zenon_H153).
% 0.39/0.56  apply zenon_H19c. zenon_intro zenon_H1a1.
% 0.39/0.56  apply zenon_H66. exists zenon_TA_mt. apply NNPP. zenon_intro zenon_H1cf.
% 0.39/0.56  exact (zenon_H1cf zenon_H1a1).
% 0.39/0.56  (* end of lemma zenon_L78_ *)
% 0.39/0.56  apply NNPP. intro zenon_G.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_G). zenon_intro zenon_H1fc. zenon_intro zenon_H1fb.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H1fb). zenon_intro zenon_H1fe. zenon_intro zenon_H1fd.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1fc); [ zenon_intro zenon_H200 | zenon_intro zenon_H1ff ].
% 0.39/0.56  apply (zenon_notallex_s (fun A : zenon_U => ((forall B : zenon_U, (g_false_only A B))\/(exists B : zenon_U, (h_true_only A B)))) zenon_H200); [ zenon_intro zenon_H201; idtac ].
% 0.39/0.56  elim zenon_H201. zenon_intro zenon_TA_q. zenon_intro zenon_H202.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H202). zenon_intro zenon_H203. zenon_intro zenon_H18.
% 0.39/0.56  apply (zenon_notallex_s (fun B : zenon_U => (g_false_only zenon_TA_q B)) zenon_H203); [ zenon_intro zenon_H204; idtac ].
% 0.39/0.56  elim zenon_H204. zenon_intro zenon_TB_p. zenon_intro zenon_H4b.
% 0.39/0.56  generalize (false_only_g zenon_TA_q). zenon_intro zenon_H47.
% 0.39/0.56  generalize (zenon_H47 zenon_TB_p). zenon_intro zenon_H48.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H48); [ zenon_intro zenon_H4b; zenon_intro zenon_H4a | zenon_intro zenon_H46; zenon_intro zenon_H49 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H4a); [ zenon_intro zenon_H3e | zenon_intro zenon_H205 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1fe); [ zenon_intro zenon_H38 | zenon_intro zenon_H66 ].
% 0.39/0.56  generalize (exhaustion_g zenon_TA_q). zenon_intro zenon_H206.
% 0.39/0.56  generalize (zenon_H206 zenon_TB_p). zenon_intro zenon_H207.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H207); [ zenon_intro zenon_H13 | zenon_intro zenon_H208 ].
% 0.39/0.56  apply (zenon_L8_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H208); [ zenon_intro zenon_H3d | zenon_intro zenon_H46 ].
% 0.39/0.56  apply (zenon_L9_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_L10_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  generalize (exhaustion_g zenon_TA_q). zenon_intro zenon_H206.
% 0.39/0.56  generalize (zenon_H206 zenon_TB_p). zenon_intro zenon_H207.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H207); [ zenon_intro zenon_H13 | zenon_intro zenon_H208 ].
% 0.39/0.56  apply (zenon_L16_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H208); [ zenon_intro zenon_H3d | zenon_intro zenon_H46 ].
% 0.39/0.56  apply (zenon_L9_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_L10_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply zenon_H205. zenon_intro zenon_H45.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1fe); [ zenon_intro zenon_H38 | zenon_intro zenon_H66 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1fd); [ zenon_intro zenon_H6f | zenon_intro zenon_H209 ].
% 0.39/0.56  generalize (exhaustion_g zenon_TA_q). zenon_intro zenon_H206.
% 0.39/0.56  generalize (zenon_H206 zenon_TB_p). zenon_intro zenon_H207.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H207); [ zenon_intro zenon_H13 | zenon_intro zenon_H208 ].
% 0.39/0.56  apply (zenon_L8_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H208); [ zenon_intro zenon_H3d | zenon_intro zenon_H46 ].
% 0.39/0.56  apply (zenon_L22_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_L23_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H209); [ zenon_intro zenon_H20b | zenon_intro zenon_H20a ].
% 0.39/0.56  exact (zenon_H20b zenon_H38).
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H20a); [ zenon_intro zenon_H19a | zenon_intro zenon_H20c ].
% 0.39/0.56  generalize (exhaustion_g zenon_TA_q). zenon_intro zenon_H206.
% 0.39/0.56  generalize (zenon_H206 zenon_TB_p). zenon_intro zenon_H207.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H207); [ zenon_intro zenon_H13 | zenon_intro zenon_H208 ].
% 0.39/0.56  apply (zenon_L8_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H208); [ zenon_intro zenon_H3d | zenon_intro zenon_H46 ].
% 0.39/0.56  generalize (both_g zenon_TA_q). zenon_intro zenon_H3f.
% 0.39/0.56  generalize (zenon_H3f zenon_TB_p). zenon_intro zenon_H40.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H40); [ zenon_intro zenon_H43; zenon_intro zenon_H42 | zenon_intro zenon_H3d; zenon_intro zenon_H41 ].
% 0.39/0.56  exact (zenon_H43 zenon_H3d).
% 0.39/0.56  apply zenon_H38. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H39.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H39). zenon_intro zenon_H3b. zenon_intro zenon_H3a.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H3b); [ zenon_intro zenon_H3c | zenon_intro zenon_H33 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H3a); [ zenon_intro zenon_H6d | zenon_intro zenon_H73 ].
% 0.39/0.56  apply (zenon_L18_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H73); [ zenon_intro zenon_H72 | zenon_intro zenon_H34 ].
% 0.39/0.56  apply zenon_H72. zenon_intro zenon_H6e.
% 0.39/0.56  apply (zenon_L20_ zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_notallex_s (fun B : zenon_U => (h_false_only zenon_TA_q B)) zenon_H34); [ zenon_intro zenon_H36; idtac ].
% 0.39/0.56  elim zenon_H36. zenon_intro zenon_TB_x. zenon_intro zenon_H30.
% 0.39/0.56  generalize (false_only_h zenon_TA_q). zenon_intro zenon_H2c.
% 0.39/0.56  generalize (zenon_H2c zenon_TB_x). zenon_intro zenon_H2d.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H2d); [ zenon_intro zenon_H30; zenon_intro zenon_H2f | zenon_intro zenon_H24; zenon_intro zenon_H2e ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H2f); [ zenon_intro zenon_H16 | zenon_intro zenon_H37 ].
% 0.39/0.56  apply (zenon_L3_ zenon_TB_x zenon_TA_q); trivial.
% 0.39/0.56  apply zenon_H37. zenon_intro zenon_H23.
% 0.39/0.56  apply zenon_H19a. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H20d.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H20d); [ zenon_intro zenon_H20f | zenon_intro zenon_H20e ].
% 0.39/0.56  apply zenon_H20f. exists zenon_TB_p. apply NNPP. zenon_intro zenon_H210.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H210); [ zenon_intro zenon_H211 | zenon_intro zenon_H74 ].
% 0.39/0.56  apply zenon_H211. exists zenon_TB_x. apply NNPP. zenon_intro zenon_H212.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H212); [ zenon_intro zenon_H43 | zenon_intro zenon_H2a ].
% 0.39/0.56  apply (zenon_L17_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_L4_ zenon_TB_x zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_L24_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply zenon_H20e. zenon_intro zenon_H213.
% 0.39/0.56  elim zenon_H213. zenon_intro zenon_TB_ew. zenon_intro zenon_H0.
% 0.39/0.56  generalize (zenon_H0 zenon_E). zenon_intro zenon_H214.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H214); [ zenon_intro zenon_H216 | zenon_intro zenon_H215 ].
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H216). zenon_intro zenon_H218. zenon_intro zenon_H217.
% 0.39/0.56  generalize (true_only_g zenon_TA_q). zenon_intro zenon_H11.
% 0.39/0.56  generalize (zenon_H11 zenon_TB_ew). zenon_intro zenon_H219.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H219); [ zenon_intro zenon_H21c; zenon_intro zenon_H21b | zenon_intro zenon_H218; zenon_intro zenon_H21a ].
% 0.39/0.56  exact (zenon_H21c zenon_H218).
% 0.39/0.56  apply zenon_H3c. exists zenon_TB_ew. apply NNPP. zenon_intro zenon_H21c.
% 0.39/0.56  generalize (true_only_g zenon_TA_q). zenon_intro zenon_H11.
% 0.39/0.56  generalize (zenon_H11 zenon_TB_ew). zenon_intro zenon_H219.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H219); [ zenon_intro zenon_H21c; zenon_intro zenon_H21b | zenon_intro zenon_H218; zenon_intro zenon_H21a ].
% 0.39/0.56  exact (zenon_H21b zenon_H21a).
% 0.39/0.56  exact (zenon_H21c zenon_H218).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H215). zenon_intro zenon_H7f. zenon_intro zenon_H21d.
% 0.39/0.56  generalize (both_g zenon_TA_q). zenon_intro zenon_H3f.
% 0.39/0.56  generalize (zenon_H3f zenon_TB_ew). zenon_intro zenon_H21e.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H21e); [ zenon_intro zenon_H221; zenon_intro zenon_H220 | zenon_intro zenon_H7f; zenon_intro zenon_H21f ].
% 0.39/0.56  exact (zenon_H221 zenon_H7f).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H21f). zenon_intro zenon_H223. zenon_intro zenon_H222.
% 0.39/0.56  generalize (zenon_H0 zenon_TB_x). zenon_intro zenon_H224.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H224); [ zenon_intro zenon_H225 | zenon_intro zenon_H7d ].
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H225). zenon_intro zenon_H218. zenon_intro zenon_H22.
% 0.39/0.56  generalize (true_only_g zenon_TA_q). zenon_intro zenon_H11.
% 0.39/0.56  generalize (zenon_H11 zenon_TB_ew). zenon_intro zenon_H219.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H219); [ zenon_intro zenon_H21c; zenon_intro zenon_H21b | zenon_intro zenon_H218; zenon_intro zenon_H21a ].
% 0.39/0.56  exact (zenon_H21c zenon_H218).
% 0.39/0.56  apply (zenon_and_s _ _ zenon_H21a). zenon_intro zenon_H223. zenon_intro zenon_H226.
% 0.39/0.56  exact (zenon_H226 zenon_H222).
% 0.39/0.56  apply (zenon_L26_ zenon_TB_x zenon_TB_ew zenon_TA_q); trivial.
% 0.39/0.56  exact (zenon_H30 zenon_H24).
% 0.39/0.56  apply (zenon_L7_ zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_L23_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply zenon_H20c. zenon_intro zenon_Hce.
% 0.39/0.56  apply (zenon_L39_); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1fd); [ zenon_intro zenon_H6f | zenon_intro zenon_H209 ].
% 0.39/0.56  generalize (exhaustion_g zenon_TA_q). zenon_intro zenon_H206.
% 0.39/0.56  generalize (zenon_H206 zenon_TB_p). zenon_intro zenon_H207.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H207); [ zenon_intro zenon_H13 | zenon_intro zenon_H208 ].
% 0.39/0.56  apply (zenon_L16_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H208); [ zenon_intro zenon_H3d | zenon_intro zenon_H46 ].
% 0.39/0.56  apply (zenon_L42_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_L23_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H209); [ zenon_intro zenon_H20b | zenon_intro zenon_H20a ].
% 0.39/0.56  apply zenon_H20b. zenon_intro zenon_H116.
% 0.39/0.56  apply (zenon_L48_); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H20a); [ zenon_intro zenon_H19a | zenon_intro zenon_H20c ].
% 0.39/0.56  generalize (exhaustion_g zenon_TA_q). zenon_intro zenon_H206.
% 0.39/0.56  generalize (zenon_H206 zenon_TB_p). zenon_intro zenon_H207.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H207); [ zenon_intro zenon_H13 | zenon_intro zenon_H208 ].
% 0.39/0.56  apply (zenon_L16_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H208); [ zenon_intro zenon_H3d | zenon_intro zenon_H46 ].
% 0.39/0.56  generalize (both_g zenon_TA_q). zenon_intro zenon_H3f.
% 0.39/0.56  generalize (zenon_H3f zenon_TB_p). zenon_intro zenon_H40.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H40); [ zenon_intro zenon_H43; zenon_intro zenon_H42 | zenon_intro zenon_H3d; zenon_intro zenon_H41 ].
% 0.39/0.56  exact (zenon_H43 zenon_H3d).
% 0.39/0.56  apply zenon_H19a. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H20d.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H20d); [ zenon_intro zenon_H20f | zenon_intro zenon_H20e ].
% 0.39/0.56  apply zenon_H20f. exists zenon_TB_p. apply NNPP. zenon_intro zenon_H210.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H210); [ zenon_intro zenon_H211 | zenon_intro zenon_H74 ].
% 0.39/0.56  apply zenon_H66. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H67.
% 0.39/0.56  apply zenon_H67. exists zenon_TB_p. apply NNPP. zenon_intro zenon_H68.
% 0.39/0.56  apply (zenon_notallex_s (fun C : zenon_U => (((g_true_only zenon_TA_q zenon_TB_p)/\((h_both zenon_TA_q C)\/(h_false_only zenon_TA_q C)))\/((g_both zenon_TA_q zenon_TB_p)/\(h_false_only zenon_TA_q C)))) zenon_H68); [ zenon_intro zenon_H69; idtac ].
% 0.39/0.56  elim zenon_H69. zenon_intro zenon_TC_db. zenon_intro zenon_H6a.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H6a). zenon_intro zenon_H6c. zenon_intro zenon_H6b.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H6b); [ zenon_intro zenon_H43 | zenon_intro zenon_H62 ].
% 0.39/0.56  apply (zenon_L17_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply zenon_H211. exists zenon_TC_db. apply NNPP. zenon_intro zenon_H227.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H227); [ zenon_intro zenon_H43 | zenon_intro zenon_H5d ].
% 0.39/0.56  apply (zenon_L17_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_L49_ zenon_TC_db zenon_TA_q); trivial.
% 0.39/0.56  apply (zenon_L24_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  apply zenon_H20e. zenon_intro zenon_H213.
% 0.39/0.56  apply zenon_H66. exists zenon_TA_q. apply NNPP. zenon_intro zenon_H67.
% 0.39/0.56  exact (zenon_H67 zenon_H213).
% 0.39/0.56  apply (zenon_L23_ zenon_TB_p zenon_TA_q); trivial.
% 0.39/0.56  exact (zenon_H20c zenon_H66).
% 0.39/0.56  exact (zenon_H4b zenon_H46).
% 0.39/0.56  apply (zenon_notallex_s (fun A : zenon_U => (forall B : zenon_U, (exists C : zenon_U, ((g_false_only A B)\/(h_true_only A C))))) zenon_H1ff); [ zenon_intro zenon_H228; idtac ].
% 0.39/0.56  elim zenon_H228. zenon_intro zenon_TA_mt. zenon_intro zenon_H229.
% 0.39/0.56  apply (zenon_notallex_s (fun B : zenon_U => (exists C : zenon_U, ((g_false_only zenon_TA_mt B)\/(h_true_only zenon_TA_mt C)))) zenon_H229); [ zenon_intro zenon_H22a; idtac ].
% 0.39/0.56  elim zenon_H22a. zenon_intro zenon_TB_ms. zenon_intro zenon_H153.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1fe); [ zenon_intro zenon_H38 | zenon_intro zenon_H66 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1fd); [ zenon_intro zenon_H6f | zenon_intro zenon_H209 ].
% 0.39/0.56  apply zenon_H153. exists zenon_E. apply NNPP. zenon_intro zenon_H22b.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H22b). zenon_intro zenon_H156. zenon_intro zenon_H22c.
% 0.39/0.56  generalize (false_only_g zenon_TA_mt). zenon_intro zenon_H18f.
% 0.39/0.56  generalize (zenon_H18f zenon_TB_ms). zenon_intro zenon_H190.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H190); [ zenon_intro zenon_H156; zenon_intro zenon_H192 | zenon_intro zenon_H18d; zenon_intro zenon_H191 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H192); [ zenon_intro zenon_H18e | zenon_intro zenon_H22d ].
% 0.39/0.56  generalize (exhaustion_g zenon_TA_mt). zenon_intro zenon_H22e.
% 0.39/0.56  generalize (zenon_H22e zenon_TB_ms). zenon_intro zenon_H22f.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H22f); [ zenon_intro zenon_H14e | zenon_intro zenon_H230 ].
% 0.39/0.56  apply (zenon_L58_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H230); [ zenon_intro zenon_H185 | zenon_intro zenon_H18d ].
% 0.39/0.56  apply (zenon_L64_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L65_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply zenon_H22d. zenon_intro zenon_H195.
% 0.39/0.56  generalize (exhaustion_g zenon_TA_mt). zenon_intro zenon_H22e.
% 0.39/0.56  generalize (zenon_H22e zenon_TB_ms). zenon_intro zenon_H22f.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H22f); [ zenon_intro zenon_H14e | zenon_intro zenon_H230 ].
% 0.39/0.56  apply (zenon_L58_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H230); [ zenon_intro zenon_H185 | zenon_intro zenon_H18d ].
% 0.39/0.56  apply (zenon_L64_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L66_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  exact (zenon_H156 zenon_H18d).
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H209); [ zenon_intro zenon_H20b | zenon_intro zenon_H20a ].
% 0.39/0.56  exact (zenon_H20b zenon_H38).
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H20a); [ zenon_intro zenon_H19a | zenon_intro zenon_H20c ].
% 0.39/0.56  apply zenon_H153. exists zenon_E. apply NNPP. zenon_intro zenon_H22b.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H22b). zenon_intro zenon_H156. zenon_intro zenon_H22c.
% 0.39/0.56  generalize (false_only_g zenon_TA_mt). zenon_intro zenon_H18f.
% 0.39/0.56  generalize (zenon_H18f zenon_TB_ms). zenon_intro zenon_H190.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H190); [ zenon_intro zenon_H156; zenon_intro zenon_H192 | zenon_intro zenon_H18d; zenon_intro zenon_H191 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H192); [ zenon_intro zenon_H18e | zenon_intro zenon_H22d ].
% 0.39/0.56  generalize (exhaustion_g zenon_TA_mt). zenon_intro zenon_H22e.
% 0.39/0.56  generalize (zenon_H22e zenon_TB_ms). zenon_intro zenon_H22f.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H22f); [ zenon_intro zenon_H14e | zenon_intro zenon_H230 ].
% 0.39/0.56  apply (zenon_L58_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H230); [ zenon_intro zenon_H185 | zenon_intro zenon_H18d ].
% 0.39/0.56  apply (zenon_L70_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L65_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply zenon_H22d. zenon_intro zenon_H195.
% 0.39/0.56  generalize (exhaustion_g zenon_TA_mt). zenon_intro zenon_H22e.
% 0.39/0.56  generalize (zenon_H22e zenon_TB_ms). zenon_intro zenon_H22f.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H22f); [ zenon_intro zenon_H14e | zenon_intro zenon_H230 ].
% 0.39/0.56  apply (zenon_L58_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H230); [ zenon_intro zenon_H185 | zenon_intro zenon_H18d ].
% 0.39/0.56  apply (zenon_L70_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L66_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  exact (zenon_H156 zenon_H18d).
% 0.39/0.56  apply zenon_H20c. zenon_intro zenon_Hce.
% 0.39/0.56  apply (zenon_L39_); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H1fd); [ zenon_intro zenon_H6f | zenon_intro zenon_H209 ].
% 0.39/0.56  apply zenon_H153. exists zenon_E. apply NNPP. zenon_intro zenon_H22b.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H22b). zenon_intro zenon_H156. zenon_intro zenon_H22c.
% 0.39/0.56  generalize (false_only_g zenon_TA_mt). zenon_intro zenon_H18f.
% 0.39/0.56  generalize (zenon_H18f zenon_TB_ms). zenon_intro zenon_H190.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H190); [ zenon_intro zenon_H156; zenon_intro zenon_H192 | zenon_intro zenon_H18d; zenon_intro zenon_H191 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H192); [ zenon_intro zenon_H18e | zenon_intro zenon_H22d ].
% 0.39/0.56  generalize (exhaustion_g zenon_TA_mt). zenon_intro zenon_H22e.
% 0.39/0.56  generalize (zenon_H22e zenon_TB_ms). zenon_intro zenon_H22f.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H22f); [ zenon_intro zenon_H14e | zenon_intro zenon_H230 ].
% 0.39/0.56  apply (zenon_L74_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H230); [ zenon_intro zenon_H185 | zenon_intro zenon_H18d ].
% 0.39/0.56  apply (zenon_L77_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L65_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply zenon_H22d. zenon_intro zenon_H195.
% 0.39/0.56  generalize (exhaustion_g zenon_TA_mt). zenon_intro zenon_H22e.
% 0.39/0.56  generalize (zenon_H22e zenon_TB_ms). zenon_intro zenon_H22f.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H22f); [ zenon_intro zenon_H14e | zenon_intro zenon_H230 ].
% 0.39/0.56  apply (zenon_L74_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H230); [ zenon_intro zenon_H185 | zenon_intro zenon_H18d ].
% 0.39/0.56  apply (zenon_L77_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L66_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  exact (zenon_H156 zenon_H18d).
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H209); [ zenon_intro zenon_H20b | zenon_intro zenon_H20a ].
% 0.39/0.56  apply zenon_H20b. zenon_intro zenon_H116.
% 0.39/0.56  apply (zenon_L48_); trivial.
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H20a); [ zenon_intro zenon_H19a | zenon_intro zenon_H20c ].
% 0.39/0.56  apply zenon_H153. exists zenon_E. apply NNPP. zenon_intro zenon_H22b.
% 0.39/0.56  apply (zenon_notor_s _ _ zenon_H22b). zenon_intro zenon_H156. zenon_intro zenon_H22c.
% 0.39/0.56  generalize (false_only_g zenon_TA_mt). zenon_intro zenon_H18f.
% 0.39/0.56  generalize (zenon_H18f zenon_TB_ms). zenon_intro zenon_H190.
% 0.39/0.56  apply (zenon_equiv_s _ _ zenon_H190); [ zenon_intro zenon_H156; zenon_intro zenon_H192 | zenon_intro zenon_H18d; zenon_intro zenon_H191 ].
% 0.39/0.56  apply (zenon_notand_s _ _ zenon_H192); [ zenon_intro zenon_H18e | zenon_intro zenon_H22d ].
% 0.39/0.56  generalize (exhaustion_g zenon_TA_mt). zenon_intro zenon_H22e.
% 0.39/0.56  generalize (zenon_H22e zenon_TB_ms). zenon_intro zenon_H22f.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H22f); [ zenon_intro zenon_H14e | zenon_intro zenon_H230 ].
% 0.39/0.56  apply (zenon_L74_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H230); [ zenon_intro zenon_H185 | zenon_intro zenon_H18d ].
% 0.39/0.56  apply (zenon_L78_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L65_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply zenon_H22d. zenon_intro zenon_H195.
% 0.39/0.56  generalize (exhaustion_g zenon_TA_mt). zenon_intro zenon_H22e.
% 0.39/0.56  generalize (zenon_H22e zenon_TB_ms). zenon_intro zenon_H22f.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H22f); [ zenon_intro zenon_H14e | zenon_intro zenon_H230 ].
% 0.39/0.56  apply (zenon_L74_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_or_s _ _ zenon_H230); [ zenon_intro zenon_H185 | zenon_intro zenon_H18d ].
% 0.39/0.56  apply (zenon_L78_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  apply (zenon_L66_ zenon_TB_ms zenon_TA_mt); trivial.
% 0.39/0.56  exact (zenon_H156 zenon_H18d).
% 0.39/0.56  exact (zenon_H20c zenon_H66).
% 0.39/0.56  Qed.
% 0.39/0.56  % SZS output end Proof
% 0.39/0.56  (* END-PROOF *)
% 0.39/0.56  nodes searched: 5507
% 0.39/0.56  max branch formulas: 220
% 0.39/0.56  proof nodes created: 1133
% 0.39/0.56  formulas created: 9788
% 0.39/0.56  
%------------------------------------------------------------------------------