TSTP Solution File: SET624^5 by cocATP---0.2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SET624^5 : TPTP v6.1.0. Released v4.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n090.star.cs.uiowa.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz
% Memory   : 32286.75MB
% OS       : Linux 2.6.32-431.20.3.el6.x86_64
% CPULimit : 300s
% DateTime : Thu Jul 17 13:30:52 EDT 2014

% Result   : Theorem 72.52s
% Output   : Proof 72.52s
% Verified : 
% SZS Type : None (Parsing solution fails)
% Syntax   : Number of formulae    : 0

% Comments : 
%------------------------------------------------------------------------------
%----ERROR: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : SET624^5 : TPTP v6.1.0. Released v4.0.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n090.star.cs.uiowa.edu
% % Model    : x86_64 x86_64
% % CPU      : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
% % Memory   : 32286.75MB
% % OS       : Linux 2.6.32-431.20.3.el6.x86_64
% % CPULimit : 300
% % DateTime : Thu Jul 17 10:25:21 CDT 2014
% % CPUTime  : 72.52 
% Python 2.7.5
% Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/']
% FOF formula (<kernel.Constant object at 0x1fb2c20>, <kernel.Type object at 0x1b81ef0>) of role type named a_type
% Using role type
% Declaring a:Type
% FOF formula (forall (X:(a->Prop)) (Y:(a->Prop)) (Z:(a->Prop)), ((iff ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))) of role conjecture named cBOOL_PROP_100_pme
% Conjecture to prove = (forall (X:(a->Prop)) (Y:(a->Prop)) (Z:(a->Prop)), ((iff ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))):Prop
% Parameter a_DUMMY:a.
% We need to prove ['(forall (X:(a->Prop)) (Y:(a->Prop)) (Z:(a->Prop)), ((iff ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))))']
% Parameter a:Type.
% Trying to prove (forall (X:(a->Prop)) (Y:(a->Prop)) (Z:(a->Prop)), ((iff ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))))
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found x3 as proof of (X x0)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found x3 as proof of (X x0)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found (fun (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (X x0)
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (((or (Y x1)) (Z x1))->(X x0))
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of ((X x1)->(((or (Y x1)) (Z x1))->(X x0)))
% Found (and_rect00 (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found ((and_rect0 (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found (fun (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (X x0)
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (((or (Y x1)) (Z x1))->(X x0))
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of ((X x1)->(((or (Y x1)) (Z x1))->(X x0)))
% Found (and_rect00 (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found ((and_rect0 (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found x3 as proof of (X x0)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found x3 as proof of (X x0)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x2)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found conj100:=(conj10 (Z x1)):((Z x1)->((and (X x0)) (Z x1)))
% Found (conj10 (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x4)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found conj100:=(conj10 (Y x1)):((Y x1)->((and (X x0)) (Y x1)))
% Found (conj10 (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x2)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x4)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x2)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x4)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x4)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x2)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x4)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x4)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found x3 as proof of (X x0)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found x3 as proof of (X x0)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x3:(X x0)
% Found x3 as proof of (X x2)
% Found x2:(X x0)
% Found x2 as proof of (X x4)
% Found x3:(X x1)
% Found x3 as proof of (X x0)
% Found x2:(X x0)
% Found x2 as proof of (X x4)
% Found x3:(X x1)
% Found x3 as proof of (X x0)
% Found x3:(X x0)
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Found x3 as proof of (X x2)
% Found x2:(X x0)
% Found x2 as proof of (X x4)
% Found x3:(X x0)
% Found x3 as proof of (X x2)
% Found x2:(X x0)
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Found x2 as proof of (X x4)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found x3 as proof of (X x0)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found x3 as proof of (X x0)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found (fun (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (X x0)
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (((or (Y x1)) (Z x1))->(X x0))
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of ((X x1)->(((or (Y x1)) (Z x1))->(X x0)))
% Found (and_rect00 (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found ((and_rect0 (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (fun (x2:((and (X x1)) ((or (Y x1)) (Z x1))))=> (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3))) as proof of (X x0)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found (fun (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (X x0)
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (((or (Y x1)) (Z x1))->(X x0))
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of ((X x1)->(((or (Y x1)) (Z x1))->(X x0)))
% Found (and_rect00 (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found ((and_rect0 (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (fun (x2:((and (X x1)) ((or (Y x1)) (Z x1))))=> (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3))) as proof of (X x0)
% Found x5:(Z x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Y x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Y x1)
% Instantiate: x0:=x1:a
% Found (fun (x5:(Y x1))=> x5) as proof of (Y x0)
% Found (fun (x5:(Y x1))=> x5) as proof of ((Y x1)->(Y x0))
% Found x5:(Z x1)
% Instantiate: x0:=x1:a
% Found (fun (x5:(Z x1))=> x5) as proof of (Z x0)
% Found (fun (x5:(Z x1))=> x5) as proof of ((Z x1)->(Z x0))
% Found x5:(Y x0)
% Instantiate: x4:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x4)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x4))
% Found x5:(Z x1)
% Instantiate: x0:=x1:a
% Found (fun (x5:(Z x1))=> x5) as proof of (Z x0)
% Found (fun (x5:(Z x1))=> x5) as proof of ((Z x1)->(Z x0))
% Found x5:(Z x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Y x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Z x0)
% Instantiate: x4:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x4)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x4))
% Found x5:(Y x1)
% Instantiate: x0:=x1:a
% Found (fun (x5:(Y x1))=> x5) as proof of (Y x0)
% Found (fun (x5:(Y x1))=> x5) as proof of ((Y x1)->(Y x0))
% Found x5:(Y x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Z x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Y x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Z x0)
% Instantiate: x4:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x4)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x4))
% Found x5:(Z x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Y x0)
% Instantiate: x4:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x4)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x4))
% Found x5:(Z x0)
% Instantiate: x4:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x4)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x4))
% Found x5:(Y x0)
% Instantiate: x4:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x4)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x4))
% Found x5:(Z x1)
% Found (fun (x5:(Z x1))=> x5) as proof of (Z x0)
% Found (fun (x5:(Z x1))=> x5) as proof of ((Z x1)->(Z x0))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Y x1)
% Found (fun (x5:(Y x1))=> x5) as proof of (Y x0)
% Found (fun (x5:(Y x1))=> x5) as proof of ((Y x1)->(Y x0))
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found (fun (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (X x0)
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (((or (Y x1)) (Z x1))->(X x0))
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of ((X x1)->(((or (Y x1)) (Z x1))->(X x0)))
% Found (and_rect00 (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found ((and_rect0 (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found x5:(Y x1)
% Found (fun (x5:(Y x1))=> x5) as proof of (Y x0)
% Found (fun (x5:(Y x1))=> x5) as proof of ((Y x1)->(Y x0))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x4)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x4))
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found (fun (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (X x0)
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (((or (Y x1)) (Z x1))->(X x0))
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of ((X x1)->(((or (Y x1)) (Z x1))->(X x0)))
% Found (and_rect00 (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found ((and_rect0 (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Z x1)
% Found (fun (x5:(Z x1))=> x5) as proof of (Z x0)
% Found (fun (x5:(Z x1))=> x5) as proof of ((Z x1)->(Z x0))
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x4)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x4))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x4)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x4))
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x4)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x4))
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x4)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x4))
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x4)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x4))
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x4:(X x2)
% Instantiate: x0:=x2:a
% Found x4 as proof of (X x0)
% Found x4:(X x2)
% Instantiate: x0:=x2:a
% Found x4 as proof of (X x0)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x2)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found conj100:=(conj10 (Z x1)):((Z x1)->((and (X x0)) (Z x1)))
% Found (conj10 (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x4)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x2)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x4)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found conj100:=(conj10 (Y x1)):((Y x1)->((and (X x0)) (Y x1)))
% Found (conj10 (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x2)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x4)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x4)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x2)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x4)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x4)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found (fun (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (X x0)
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (((or (Y x1)) (Z x1))->(X x0))
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of ((X x1)->(((or (Y x1)) (Z x1))->(X x0)))
% Found (and_rect00 (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found ((and_rect0 (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found (fun (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (X x0)
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (((or (Y x1)) (Z x1))->(X x0))
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of ((X x1)->(((or (Y x1)) (Z x1))->(X x0)))
% Found (and_rect00 (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found ((and_rect0 (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found x3 as proof of (X x0)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found x3 as proof of (X x0)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found (fun (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (X x2)
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of (((or (Y x0)) (Z x0))->(X x2))
% Found (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3) as proof of ((X x0)->(((or (Y x0)) (Z x0))->(X x2)))
% Found (and_rect00 (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found ((and_rect0 (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found (((fun (P:Type) (x3:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x3) x1)) (X x2)) (fun (x3:(X x0)) (x4:((or (Y x0)) (Z x0)))=> x3)) as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Instantiate: x4:=x0:a
% Found x2 as proof of (X x4)
% Found x3:(X x1)
% Instantiate: x5:=x1:a
% Found x3 as proof of (X x5)
% Found x3:(X x1)
% Instantiate: x5:=x1:a
% Found x3 as proof of (X x5)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found (fun (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (X x0)
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (((or (Y x1)) (Z x1))->(X x0))
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of ((X x1)->(((or (Y x1)) (Z x1))->(X x0)))
% Found (and_rect00 (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found ((and_rect0 (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (fun (x2:((and (X x1)) ((or (Y x1)) (Z x1))))=> (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3))) as proof of (X x0)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found (fun (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (X x0)
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of (((or (Y x1)) (Z x1))->(X x0))
% Found (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3) as proof of ((X x1)->(((or (Y x1)) (Z x1))->(X x0)))
% Found (and_rect00 (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found ((and_rect0 (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3)) as proof of (X x0)
% Found (fun (x2:((and (X x1)) ((or (Y x1)) (Z x1))))=> (((fun (P:Type) (x3:((X x1)->(((or (Y x1)) (Z x1))->P)))=> (((((and_rect (X x1)) ((or (Y x1)) (Z x1))) P) x3) x2)) (X x0)) (fun (x3:(X x1)) (x4:((or (Y x1)) (Z x1)))=> x3))) as proof of (X x0)
% Found x3:(X x0)
% Found x3 as proof of (X x2)
% Found x3:(X x1)
% Found x3 as proof of (X x0)
% Found x3:(X x0)
% Found x3 as proof of (X x2)
% Found x3:(X x1)
% Found x3 as proof of (X x0)
% Found x2:(X x0)
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Found x2 as proof of (X x4)
% Found x3:(X x0)
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Found x3 as proof of (X x2)
% Found x2:(X x0)
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Found x2 as proof of (X x4)
% Found x2:(X x0)
% Found x2 as proof of (X x4)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found x3 as proof of (X x0)
% Found x3:(X x1)
% Instantiate: x0:=x1:a
% Found x3 as proof of (X x0)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x3:(X x0)
% Instantiate: x2:=x0:a
% Found x3 as proof of (X x2)
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found x4:(Z x0)
% Instantiate: x5:=x0:a
% Found x4 as proof of (Z x5)
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found ((conj10 x2) x4) as proof of ((and (X x5)) (Z x5))
% Found (((conj1 (Z x5)) x2) x4) as proof of ((and (X x5)) (Z x5))
% Found ((((conj (X x5)) (Z x5)) x2) x4) as proof of ((and (X x5)) (Z x5))
% Found ((((conj (X x5)) (Z x5)) x2) x4) as proof of ((and (X x5)) (Z x5))
% Found (ex_intro000 ((((conj (X x5)) (Z x5)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found ((ex_intro00 x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found (((ex_intro0 (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found (fun (x4:(Z x0))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found (fun (x4:(Z x0))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))) as proof of ((Z x0)->((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found x4:(Y x0)
% Instantiate: x5:=x0:a
% Found x4 as proof of (Y x5)
% Found ((conj10 x2) x4) as proof of ((and (X x5)) (Y x5))
% Found (((conj1 (Y x5)) x2) x4) as proof of ((and (X x5)) (Y x5))
% Found ((((conj (X x5)) (Y x5)) x2) x4) as proof of ((and (X x5)) (Y x5))
% Found ((((conj (X x5)) (Y x5)) x2) x4) as proof of ((and (X x5)) (Y x5))
% Found (ex_intro000 ((((conj (X x5)) (Y x5)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found ((ex_intro00 x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found (((ex_intro0 (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found (fun (x4:(Y x0))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found (fun (x4:(Y x0))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))) as proof of ((Y x0)->((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found x4:(Z x0)
% Instantiate: x5:=x0:a
% Found x4 as proof of (Z x5)
% Found ((conj10 x2) x4) as proof of ((and (X x5)) (Z x5))
% Found (((conj1 (Z x5)) x2) x4) as proof of ((and (X x5)) (Z x5))
% Found ((((conj (X x5)) (Z x5)) x2) x4) as proof of ((and (X x5)) (Z x5))
% Found ((((conj (X x5)) (Z x5)) x2) x4) as proof of ((and (X x5)) (Z x5))
% Found (ex_intro000 ((((conj (X x5)) (Z x5)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found ((ex_intro00 x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found (((ex_intro0 (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found (fun (x4:(Z x0))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found (fun (x4:(Z x0))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))) as proof of ((Z x0)->((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found x4:(Y x0)
% Instantiate: x5:=x0:a
% Found x4 as proof of (Y x5)
% Found ((conj10 x2) x4) as proof of ((and (X x5)) (Y x5))
% Found (((conj1 (Y x5)) x2) x4) as proof of ((and (X x5)) (Y x5))
% Found ((((conj (X x5)) (Y x5)) x2) x4) as proof of ((and (X x5)) (Y x5))
% Found ((((conj (X x5)) (Y x5)) x2) x4) as proof of ((and (X x5)) (Y x5))
% Found (ex_intro000 ((((conj (X x5)) (Y x5)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found ((ex_intro00 x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found (((ex_intro0 (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found (fun (x4:(Y x0))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found (fun (x4:(Y x0))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))) as proof of ((Y x0)->((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found x4:(Z x0)
% Instantiate: x5:=x0:a
% Found x4 as proof of (Z x5)
% Found ((conj10 x2) x4) as proof of ((and (X x5)) (Z x5))
% Found (((conj1 (Z x5)) x2) x4) as proof of ((and (X x5)) (Z x5))
% Found ((((conj (X x5)) (Z x5)) x2) x4) as proof of ((and (X x5)) (Z x5))
% Found ((((conj (X x5)) (Z x5)) x2) x4) as proof of ((and (X x5)) (Z x5))
% Found (ex_intro000 ((((conj (X x5)) (Z x5)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found ((ex_intro00 x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found (((ex_intro0 (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found (fun (x4:(Z x0))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found (fun (x4:(Z x0))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))) as proof of ((Z x0)->((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found x4:(Y x0)
% Instantiate: x5:=x0:a
% Found x4 as proof of (Y x5)
% Found ((conj10 x2) x4) as proof of ((and (X x5)) (Y x5))
% Found (((conj1 (Y x5)) x2) x4) as proof of ((and (X x5)) (Y x5))
% Found ((((conj (X x5)) (Y x5)) x2) x4) as proof of ((and (X x5)) (Y x5))
% Found ((((conj (X x5)) (Y x5)) x2) x4) as proof of ((and (X x5)) (Y x5))
% Found (ex_intro000 ((((conj (X x5)) (Y x5)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found ((ex_intro00 x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found (((ex_intro0 (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found (fun (x4:(Y x0))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found (fun (x4:(Y x0))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))) as proof of ((Y x0)->((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found x4:(X x2)
% Instantiate: x1:=x2:a
% Found x4 as proof of (X x1)
% Found x4:(X x1)
% Instantiate: x3:=x1:a
% Found x4 as proof of (X x3)
% Found x4:(X x2)
% Instantiate: x1:=x2:a
% Found x4 as proof of (X x1)
% Found x4:(X x1)
% Instantiate: x3:=x1:a
% Found x4 as proof of (X x3)
% Found x5:(Z x1)
% Instantiate: x0:=x1:a
% Found (fun (x5:(Z x1))=> x5) as proof of (Z x0)
% Found (fun (x5:(Z x1))=> x5) as proof of ((Z x1)->(Z x0))
% Found x5:(Y x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Y x1)
% Instantiate: x0:=x1:a
% Found (fun (x5:(Y x1))=> x5) as proof of (Y x0)
% Found (fun (x5:(Y x1))=> x5) as proof of ((Y x1)->(Y x0))
% Found x5:(Z x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Y x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Z x0)
% Instantiate: x4:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x4)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x4))
% Found x5:(Y x0)
% Instantiate: x4:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x4)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x4))
% Found x5:(Z x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Y x1)
% Instantiate: x0:=x1:a
% Found (fun (x5:(Y x1))=> x5) as proof of (Y x0)
% Found (fun (x5:(Y x1))=> x5) as proof of ((Y x1)->(Y x0))
% Found x5:(Z x1)
% Instantiate: x0:=x1:a
% Found (fun (x5:(Z x1))=> x5) as proof of (Z x0)
% Found (fun (x5:(Z x1))=> x5) as proof of ((Z x1)->(Z x0))
% Found x5:(Z x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Y x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Z x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Y x0)
% Instantiate: x2:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Y x0)
% Instantiate: x4:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x4)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x4))
% Found x5:(Z x0)
% Instantiate: x4:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x4)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x4))
% Found x5:(Y x0)
% Instantiate: x4:=x0:a
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x4)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x4))
% Found x5:(Z x0)
% Instantiate: x4:=x0:a
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x4)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x4))
% Found x5:(Z x1)
% Found (fun (x5:(Z x1))=> x5) as proof of (Z x0)
% Found (fun (x5:(Z x1))=> x5) as proof of ((Z x1)->(Z x0))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Y x1)
% Found (fun (x5:(Y x1))=> x5) as proof of (Y x0)
% Found (fun (x5:(Y x1))=> x5) as proof of ((Y x1)->(Y x0))
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x4)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x4))
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Z x1)
% Found (fun (x5:(Z x1))=> x5) as proof of (Z x0)
% Found (fun (x5:(Z x1))=> x5) as proof of ((Z x1)->(Z x0))
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x4)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x4))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Y x1)
% Found (fun (x5:(Y x1))=> x5) as proof of (Y x0)
% Found (fun (x5:(Y x1))=> x5) as proof of ((Y x1)->(Y x0))
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x2)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x2))
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x4)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x4))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x4)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x4))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x2)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x2))
% Found x5:(Y x0)
% Found (fun (x5:(Y x0))=> x5) as proof of (Y x4)
% Found (fun (x5:(Y x0))=> x5) as proof of ((Y x0)->(Y x4))
% Found x5:(Z x0)
% Found (fun (x5:(Z x0))=> x5) as proof of (Z x4)
% Found (fun (x5:(Z x0))=> x5) as proof of ((Z x0)->(Z x4))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x2)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found conj100:=(conj10 (Z x1)):((Z x1)->((and (X x0)) (Z x1)))
% Found (conj10 (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Z x1)) as proof of ((Z x1)->((and (X x0)) (Z x0)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x4)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x4)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found conj100:=(conj10 (Y x1)):((Y x1)->((and (X x0)) (Y x1)))
% Found (conj10 (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found ((fun (B:Prop)=> (((conj (X x0)) B) x3)) (Y x1)) as proof of ((Y x1)->((and (X x0)) (Y x0)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x2)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x2)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x4)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x2)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x4)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x4)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x4)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x2)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Z x0)) as proof of ((Z x0)->((and (X x2)) (Z x2)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x4)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x2)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> ((conj1 B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found ((fun (B:Prop)=> (((conj (X x2)) B) x3)) (Y x0)) as proof of ((Y x0)->((and (X x2)) (Y x2)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x4)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x4)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x4)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found conj100:=(conj10 (Z x0)):((Z x0)->((and (X x4)) (Z x0)))
% Found (conj10 (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Z x0)) as proof of ((Z x0)->((and (X x4)) (Z x4)))
% Found conj100:=(conj10 (Y x0)):((Y x0)->((and (X x4)) (Y x0)))
% Found (conj10 (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> ((conj1 B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found ((fun (B:Prop)=> (((conj (X x4)) B) x2)) (Y x0)) as proof of ((Y x0)->((and (X x4)) (Y x4)))
% Found x4:(X x2)
% Instantiate: x0:=x2:a
% Found (fun (x5:(Y x2))=> x4) as proof of (X x0)
% Found (fun (x4:(X x2)) (x5:(Y x2))=> x4) as proof of ((Y x2)->(X x0))
% Found (fun (x4:(X x2)) (x5:(Y x2))=> x4) as proof of ((X x2)->((Y x2)->(X x0)))
% Found (and_rect00 (fun (x4:(X x2)) (x5:(Y x2))=> x4)) as proof of (X x0)
% Found ((and_rect0 (X x0)) (fun (x4:(X x2)) (x5:(Y x2))=> x4)) as proof of (X x0)
% Found (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) (X x0)) (fun (x4:(X x2)) (x5:(Y x2))=> x4)) as proof of (X x0)
% Found (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) (X x0)) (fun (x4:(X x2)) (x5:(Y x2))=> x4)) as proof of (X x0)
% Found or_introl00:=(or_introl0 (Z x0)):((Y x2)->((or (Y x2)) (Z x0)))
% Found (or_introl0 (Z x0)) as proof of ((Y x2)->((or (Y x0)) (Z x0)))
% Found ((or_introl (Y x2)) (Z x0)) as proof of ((Y x2)->((or (Y x0)) (Z x0)))
% Found (fun (x4:(X x2))=> ((or_introl (Y x2)) (Z x0))) as proof of ((Y x2)->((or (Y x0)) (Z x0)))
% Found (fun (x4:(X x2))=> ((or_introl (Y x2)) (Z x0))) as proof of ((X x2)->((Y x2)->((or (Y x0)) (Z x0))))
% Found (and_rect00 (fun (x4:(X x2))=> ((or_introl (Y x2)) (Z x0)))) as proof of ((or (Y x0)) (Z x0))
% Found ((and_rect0 ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_introl (Y x2)) (Z x0)))) as proof of ((or (Y x0)) (Z x0))
% Found (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_introl (Y x2)) (Z x0)))) as proof of ((or (Y x0)) (Z x0))
% Found (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_introl (Y x2)) (Z x0)))) as proof of ((or (Y x0)) (Z x0))
% Found ((conj10 (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) (X x0)) (fun (x4:(X x2)) (x5:(Y x2))=> x4))) (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_introl (Y x2)) (Z x0))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (((conj1 ((or (Y x0)) (Z x0))) (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) (X x0)) (fun (x4:(X x2)) (x5:(Y x2))=> x4))) (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_introl (Y x2)) (Z x0))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found ((((conj (X x0)) ((or (Y x0)) (Z x0))) (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) (X x0)) (fun (x4:(X x2)) (x5:(Y x2))=> x4))) (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_introl (Y x2)) (Z x0))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (fun (x3:((and (X x2)) (Y x2)))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) (X x0)) (fun (x4:(X x2)) (x5:(Y x2))=> x4))) (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_introl (Y x2)) (Z x0)))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found x4:(X x2)
% Instantiate: x0:=x2:a
% Found (fun (x5:(Z x2))=> x4) as proof of (X x0)
% Found (fun (x4:(X x2)) (x5:(Z x2))=> x4) as proof of ((Z x2)->(X x0))
% Found (fun (x4:(X x2)) (x5:(Z x2))=> x4) as proof of ((X x2)->((Z x2)->(X x0)))
% Found (and_rect00 (fun (x4:(X x2)) (x5:(Z x2))=> x4)) as proof of (X x0)
% Found ((and_rect0 (X x0)) (fun (x4:(X x2)) (x5:(Z x2))=> x4)) as proof of (X x0)
% Found (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) (X x0)) (fun (x4:(X x2)) (x5:(Z x2))=> x4)) as proof of (X x0)
% Found (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) (X x0)) (fun (x4:(X x2)) (x5:(Z x2))=> x4)) as proof of (X x0)
% Found or_intror00:=(or_intror0 (Z x2)):((Z x2)->((or (Y x0)) (Z x2)))
% Found (or_intror0 (Z x2)) as proof of ((Z x2)->((or (Y x0)) (Z x0)))
% Found ((or_intror (Y x0)) (Z x2)) as proof of ((Z x2)->((or (Y x0)) (Z x0)))
% Found (fun (x4:(X x2))=> ((or_intror (Y x0)) (Z x2))) as proof of ((Z x2)->((or (Y x0)) (Z x0)))
% Found (fun (x4:(X x2))=> ((or_intror (Y x0)) (Z x2))) as proof of ((X x2)->((Z x2)->((or (Y x0)) (Z x0))))
% Found (and_rect00 (fun (x4:(X x2))=> ((or_intror (Y x0)) (Z x2)))) as proof of ((or (Y x0)) (Z x0))
% Found ((and_rect0 ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_intror (Y x0)) (Z x2)))) as proof of ((or (Y x0)) (Z x0))
% Found (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_intror (Y x0)) (Z x2)))) as proof of ((or (Y x0)) (Z x0))
% Found (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_intror (Y x0)) (Z x2)))) as proof of ((or (Y x0)) (Z x0))
% Found ((conj10 (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) (X x0)) (fun (x4:(X x2)) (x5:(Z x2))=> x4))) (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_intror (Y x0)) (Z x2))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (((conj1 ((or (Y x0)) (Z x0))) (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) (X x0)) (fun (x4:(X x2)) (x5:(Z x2))=> x4))) (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_intror (Y x0)) (Z x2))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found ((((conj (X x0)) ((or (Y x0)) (Z x0))) (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) (X x0)) (fun (x4:(X x2)) (x5:(Z x2))=> x4))) (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_intror (Y x0)) (Z x2))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (fun (x3:((and (X x2)) (Z x2)))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) (X x0)) (fun (x4:(X x2)) (x5:(Z x2))=> x4))) (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) ((or (Y x0)) (Z x0))) (fun (x4:(X x2))=> ((or_intror (Y x0)) (Z x2)))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found x4:(Z x0)
% Instantiate: x5:=x0:a
% Found x4 as proof of (Z x5)
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found ((conj10 x2) x4) as proof of ((and (X x5)) (Z x5))
% Found (((conj1 (Z x5)) x2) x4) as proof of ((and (X x5)) (Z x5))
% Found ((((conj (X x5)) (Z x5)) x2) x4) as proof of ((and (X x5)) (Z x5))
% Found ((((conj (X x5)) (Z x5)) x2) x4) as proof of ((and (X x5)) (Z x5))
% Found (ex_intro000 ((((conj (X x5)) (Z x5)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found ((ex_intro00 x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found (((ex_intro0 (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))
% Found (or_intror00 ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found ((or_intror0 ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)))) as proof of ((Z x0)->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found x4:(Y x0)
% Instantiate: x5:=x0:a
% Found x4 as proof of (Y x5)
% Found x2:(X x0)
% Instantiate: x5:=x0:a
% Found x2 as proof of (X x5)
% Found ((conj10 x2) x4) as proof of ((and (X x5)) (Y x5))
% Found (((conj1 (Y x5)) x2) x4) as proof of ((and (X x5)) (Y x5))
% Found ((((conj (X x5)) (Y x5)) x2) x4) as proof of ((and (X x5)) (Y x5))
% Found ((((conj (X x5)) (Y x5)) x2) x4) as proof of ((and (X x5)) (Y x5))
% Found (ex_intro000 ((((conj (X x5)) (Y x5)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found ((ex_intro00 x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found (((ex_intro0 (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4)) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))
% Found (or_introl00 ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found ((or_introl0 ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4)))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4)))) as proof of ((Y x0)->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))
% Found ((or_ind00 (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (((or_ind0 ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (fun (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)))))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)))))) as proof of (((or (Y x0)) (Z x0))->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))
% Found (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)))))) as proof of ((X x0)->(((or (Y x0)) (Z x0))->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))))
% Found (and_rect00 (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found ((and_rect0 ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (fun (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)))))))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)))))))) as proof of (((and (X x0)) ((or (Y x0)) (Z x0)))->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))
% Found (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)))))))) as proof of (forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))))
% Found (ex_ind00 (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found ((ex_ind0 ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (((fun (P:Prop) (x0:(forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) P) x0) x)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (fun (x:((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))=> (((fun (P:Prop) (x0:(forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) P) x0) x)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)))))))))) as proof of ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))
% Found (fun (x:((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))=> (((fun (P:Prop) (x0:(forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) P) x0) x)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4)))))))))) as proof of (((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))
% Found or_introl000:=(or_introl00 (Z x0)):((or (Y x0)) (Z x0))
% Found (or_introl00 (Z x0)) as proof of ((or (Y x0)) (Z x0))
% Found ((fun (B:Prop)=> ((or_introl0 B) x5)) (Z x0)) as proof of ((or (Y x0)) (Z x0))
% Found ((fun (B:Prop)=> (((or_introl (Y x0)) B) x5)) (Z x0)) as proof of ((or (Y x0)) (Z x0))
% Found ((fun (B:Prop)=> (((or_introl (Y x0)) B) x5)) (Z x0)) as proof of ((or (Y x0)) (Z x0))
% Found ((conj10 x4) ((fun (B:Prop)=> (((or_introl (Y x0)) B) x5)) (Z x0))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (((conj1 ((or (Y x0)) (Z x0))) x4) ((fun (B:Prop)=> (((or_introl (Y x0)) B) x5)) (Z x0))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) ((fun (B:Prop)=> (((or_introl (Y x0)) B) x5)) (Z x0))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (fun (x5:(Y x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) ((fun (B:Prop)=> (((or_introl (Y x0)) B) x5)) (Z x0)))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (fun (x4:(X x2)) (x5:(Y x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) ((fun (B:Prop)=> (((or_introl (Y x0)) B) x5)) (Z x0)))) as proof of ((Y x2)->((and (X x0)) ((or (Y x0)) (Z x0))))
% Found (fun (x4:(X x2)) (x5:(Y x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) ((fun (B:Prop)=> (((or_introl (Y x0)) B) x5)) (Z x0)))) as proof of ((X x2)->((Y x2)->((and (X x0)) ((or (Y x0)) (Z x0)))))
% Found (and_rect00 (fun (x4:(X x2)) (x5:(Y x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) ((fun (B:Prop)=> (((or_introl (Y x0)) B) x5)) (Z x0))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found ((and_rect0 ((and (X x0)) ((or (Y x0)) (Z x0)))) (fun (x4:(X x2)) (x5:(Y x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) ((fun (B:Prop)=> (((or_introl (Y x0)) B) x5)) (Z x0))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) ((and (X x0)) ((or (Y x0)) (Z x0)))) (fun (x4:(X x2)) (x5:(Y x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) ((fun (B:Prop)=> (((or_introl (Y x0)) B) x5)) (Z x0))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (fun (x3:((and (X x2)) (Y x2)))=> (((fun (P:Type) (x4:((X x2)->((Y x2)->P)))=> (((((and_rect (X x2)) (Y x2)) P) x4) x3)) ((and (X x0)) ((or (Y x0)) (Z x0)))) (fun (x4:(X x2)) (x5:(Y x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) ((fun (B:Prop)=> (((or_introl (Y x0)) B) x5)) (Z x0)))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found or_intror000:=(or_intror00 x5):((or (Y x0)) (Z x0))
% Found (or_intror00 x5) as proof of ((or (Y x0)) (Z x0))
% Found ((or_intror0 (Z x0)) x5) as proof of ((or (Y x0)) (Z x0))
% Found (((or_intror (Y x0)) (Z x0)) x5) as proof of ((or (Y x0)) (Z x0))
% Found (((or_intror (Y x0)) (Z x0)) x5) as proof of ((or (Y x0)) (Z x0))
% Found ((conj10 x4) (((or_intror (Y x0)) (Z x0)) x5)) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (((conj1 ((or (Y x0)) (Z x0))) x4) (((or_intror (Y x0)) (Z x0)) x5)) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) (((or_intror (Y x0)) (Z x0)) x5)) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (fun (x5:(Z x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) (((or_intror (Y x0)) (Z x0)) x5))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (fun (x4:(X x2)) (x5:(Z x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) (((or_intror (Y x0)) (Z x0)) x5))) as proof of ((Z x2)->((and (X x0)) ((or (Y x0)) (Z x0))))
% Found (fun (x4:(X x2)) (x5:(Z x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) (((or_intror (Y x0)) (Z x0)) x5))) as proof of ((X x2)->((Z x2)->((and (X x0)) ((or (Y x0)) (Z x0)))))
% Found (and_rect00 (fun (x4:(X x2)) (x5:(Z x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) (((or_intror (Y x0)) (Z x0)) x5)))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found ((and_rect0 ((and (X x0)) ((or (Y x0)) (Z x0)))) (fun (x4:(X x2)) (x5:(Z x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) (((or_intror (Y x0)) (Z x0)) x5)))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) ((and (X x0)) ((or (Y x0)) (Z x0)))) (fun (x4:(X x2)) (x5:(Z x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) (((or_intror (Y x0)) (Z x0)) x5)))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found (fun (x3:((and (X x2)) (Z x2)))=> (((fun (P:Type) (x4:((X x2)->((Z x2)->P)))=> (((((and_rect (X x2)) (Z x2)) P) x4) x3)) ((and (X x0)) ((or (Y x0)) (Z x0)))) (fun (x4:(X x2)) (x5:(Z x2))=> ((((conj (X x0)) ((or (Y x0)) (Z x0))) x4) (((or_intror (Y x0)) (Z x0)) x5))))) as proof of ((and (X x0)) ((or (Y x0)) (Z x0)))
% Found or_introl000:=(or_introl00 (Z x5)):((or (Y x5)) (Z x5))
% Found (or_introl00 (Z x5)) as proof of ((or (Y x5)) (Z x5))
% Found ((fun (B:Prop)=> ((or_introl0 B) x4)) (Z x5)) as proof of ((or (Y x5)) (Z x5))
% Found ((fun (B:Prop)=> (((or_introl (Y x5)) B) x4)) (Z x5)) as proof of ((or (Y x5)) (Z x5))
% Found ((fun (B:Prop)=> (((or_introl (Y x5)) B) x4)) (Z x5)) as proof of ((or (Y x5)) (Z x5))
% Found ((conj10 x3) ((fun (B:Prop)=> (((or_introl (Y x5)) B) x4)) (Z x5))) as proof of ((and (X x5)) ((or (Y x5)) (Z x5)))
% Found (((conj1 ((or (Y x5)) (Z x5))) x3) ((fun (B:Prop)=> (((or_introl (Y x5)) B) x4)) (Z x5))) as proof of ((and (X x5)) ((or (Y x5)) (Z x5)))
% Found ((((conj (X x5)) ((or (Y x5)) (Z x5))) x3) ((fun (B:Prop)=> (((or_introl (Y x5)) B) x4)) (Z x5))) as proof of ((and (X x5)) ((or (Y x5)) (Z x5)))
% Found ((((conj (X x5)) ((or (Y x5)) (Z x5))) x3) ((fun (B:Prop)=> (((or_introl (Y x5)) B) x4)) (Z x5))) as proof of ((and (X x5)) ((or (Y x5)) (Z x5)))
% Found (ex_intro000 ((((conj (X x5)) ((or (Y x5)) (Z x5))) x3) ((fun (B:Prop)=> (((or_introl (Y x5)) B) x4)) (Z x5)))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found ((ex_intro00 x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (((ex_intro0 (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1))))) as proof of ((Y x1)->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))
% Found (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1))))) as proof of ((X x1)->((Y x1)->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))))
% Found (and_rect00 (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found ((and_rect0 ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1))))))) as proof of (((and (X x1)) (Y x1))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))
% Found (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1))))))) as proof of (forall (x:a), (((and (X x)) (Y x))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))))
% Found (ex_ind00 (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found ((ex_ind0 ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (((fun (P:Prop) (x1:(forall (x:a), (((and (X x)) (Y x))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x:a), (((and (X x)) (Y x))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1))))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x:a), (((and (X x)) (Y x))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1))))))))) as proof of (((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))
% Found or_intror000:=(or_intror00 x4):((or (Y x5)) (Z x5))
% Found (or_intror00 x4) as proof of ((or (Y x5)) (Z x5))
% Found ((or_intror0 (Z x5)) x4) as proof of ((or (Y x5)) (Z x5))
% Found (((or_intror (Y x5)) (Z x5)) x4) as proof of ((or (Y x5)) (Z x5))
% Found (((or_intror (Y x5)) (Z x5)) x4) as proof of ((or (Y x5)) (Z x5))
% Found ((conj10 x3) (((or_intror (Y x5)) (Z x5)) x4)) as proof of ((and (X x5)) ((or (Y x5)) (Z x5)))
% Found (((conj1 ((or (Y x5)) (Z x5))) x3) (((or_intror (Y x5)) (Z x5)) x4)) as proof of ((and (X x5)) ((or (Y x5)) (Z x5)))
% Found ((((conj (X x5)) ((or (Y x5)) (Z x5))) x3) (((or_intror (Y x5)) (Z x5)) x4)) as proof of ((and (X x5)) ((or (Y x5)) (Z x5)))
% Found ((((conj (X x5)) ((or (Y x5)) (Z x5))) x3) (((or_intror (Y x5)) (Z x5)) x4)) as proof of ((and (X x5)) ((or (Y x5)) (Z x5)))
% Found (ex_intro000 ((((conj (X x5)) ((or (Y x5)) (Z x5))) x3) (((or_intror (Y x5)) (Z x5)) x4))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found ((ex_intro00 x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (((ex_intro0 (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))) as proof of ((Z x1)->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))
% Found (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))) as proof of ((X x1)->((Z x1)->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))))
% Found (and_rect00 (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found ((and_rect0 ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))))) as proof of (((and (X x1)) (Z x1))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))
% Found (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))))) as proof of (forall (x:a), (((and (X x)) (Z x))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))))
% Found (ex_ind00 (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found ((ex_ind0 ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (((fun (P:Prop) (x1:(forall (x:a), (((and (X x)) (Z x))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x:a), (((and (X x)) (Z x))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x:a), (((and (X x)) (Z x))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))))))) as proof of (((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))
% Found ((or_ind00 (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x:a), (((and (X x)) (Y x))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x:a), (((and (X x)) (Z x))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (((or_ind0 ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x:a), (((and (X x)) (Y x))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x:a), (((and (X x)) (Z x))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found ((((fun (P:Prop) (x0:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->P)) (x1:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->P))=> ((((((or_ind ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) P) x0) x1) x)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Y x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Z x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x:((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))=> ((((fun (P:Prop) (x0:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->P)) (x1:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->P))=> ((((((or_ind ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) P) x0) x1) x)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Y x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Z x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))))))))) as proof of ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))
% Found (fun (x:((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))=> ((((fun (P:Prop) (x0:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->P)) (x1:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->P))=> ((((((or_ind ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) P) x0) x1) x)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Y x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Z x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))))))))) as proof of (((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))
% Found ((conj00 (fun (x:((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))=> (((fun (P:Prop) (x0:(forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) P) x0) x)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))))))) (fun (x:((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))=> ((((fun (P:Prop) (x0:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->P)) (x1:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->P))=> ((((((or_ind ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) P) x0) x1) x)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Y x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Z x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))))))))) as proof of ((iff ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))
% Found (((conj0 (((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))) (fun (x:((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))=> (((fun (P:Prop) (x0:(forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) P) x0) x)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))))))) (fun (x:((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))=> ((((fun (P:Prop) (x0:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->P)) (x1:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->P))=> ((((((or_ind ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) P) x0) x1) x)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Y x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Z x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))))))))) as proof of ((iff ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))
% Found ((((conj (((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))) (((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))) (fun (x:((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))=> (((fun (P:Prop) (x0:(forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) P) x0) x)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))))))) (fun (x:((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))=> ((((fun (P:Prop) (x0:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->P)) (x1:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->P))=> ((((((or_ind ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) P) x0) x1) x)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Y x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Z x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))))))))) as proof of ((iff ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))
% Found (fun (Z:(a->Prop))=> ((((conj (((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))) (((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))) (fun (x:((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))=> (((fun (P:Prop) (x0:(forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) P) x0) x)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))))))) (fun (x:((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))=> ((((fun (P:Prop) (x0:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->P)) (x1:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->P))=> ((((((or_ind ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) P) x0) x1) x)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Y x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Z x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))))))))))) as proof of ((iff ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))
% Found (fun (Y:(a->Prop)) (Z:(a->Prop))=> ((((conj (((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))) (((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))) (fun (x:((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))=> (((fun (P:Prop) (x0:(forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) P) x0) x)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))))))) (fun (x:((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))=> ((((fun (P:Prop) (x0:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->P)) (x1:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->P))=> ((((((or_ind ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) P) x0) x1) x)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Y x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Z x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))))))))))) as proof of (forall (Z:(a->Prop)), ((iff ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))))
% Found (fun (X:(a->Prop)) (Y:(a->Prop)) (Z:(a->Prop))=> ((((conj (((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))) (((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))) (fun (x:((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))=> (((fun (P:Prop) (x0:(forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) P) x0) x)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))))))) (fun (x:((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))=> ((((fun (P:Prop) (x0:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->P)) (x1:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->P))=> ((((((or_ind ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) P) x0) x1) x)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Y x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Z x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))))))))))) as proof of (forall (Y:(a->Prop)) (Z:(a->Prop)), ((iff ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))))
% Found (fun (X:(a->Prop)) (Y:(a->Prop)) (Z:(a->Prop))=> ((((conj (((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))) (((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))) (fun (x:((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))=> (((fun (P:Prop) (x0:(forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) P) x0) x)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))))))) (fun (x:((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))=> ((((fun (P:Prop) (x0:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->P)) (x1:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->P))=> ((((((or_ind ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) P) x0) x1) x)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Y x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Z x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4)))))))))))) as proof of (forall (X:(a->Prop)) (Y:(a->Prop)) (Z:(a->Prop)), ((iff ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))))
% Got proof (fun (X:(a->Prop)) (Y:(a->Prop)) (Z:(a->Prop))=> ((((conj (((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))) (((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))) (fun (x:((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))=> (((fun (P:Prop) (x0:(forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) P) x0) x)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))))))) (fun (x:((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))=> ((((fun (P:Prop) (x0:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->P)) (x1:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->P))=> ((((((or_ind ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) P) x0) x1) x)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Y x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Z x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))))))))))
% Time elapsed = 71.537771s
% node=8967 cost=1299.000000 depth=37
% ::::::::::::::::::::::
% % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% % SZS output start Proof for /export/starexec/sandbox/benchmark/theBenchmark.p
% (fun (X:(a->Prop)) (Y:(a->Prop)) (Z:(a->Prop))=> ((((conj (((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))->((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))) (((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))->((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))) (fun (x:((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))))=> (((fun (P:Prop) (x0:(forall (x:a), (((and (X x)) ((or (Y x)) (Z x)))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) P) x0) x)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x0:a) (x1:((and (X x0)) ((or (Y x0)) (Z x0))))=> (((fun (P:Type) (x2:((X x0)->(((or (Y x0)) (Z x0))->P)))=> (((((and_rect (X x0)) ((or (Y x0)) (Z x0))) P) x2) x1)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x2:(X x0)) (x3:((or (Y x0)) (Z x0)))=> ((((fun (P:Prop) (x4:((Y x0)->P)) (x5:((Z x0)->P))=> ((((((or_ind (Y x0)) (Z x0)) P) x4) x5) x3)) ((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))) (fun (x4:(Y x0))=> (((or_introl ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) x0) ((((conj (X x0)) (Y x0)) x2) x4))))) (fun (x4:(Z x0))=> (((or_intror ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) x0) ((((conj (X x0)) (Z x0)) x2) x4))))))))))) (fun (x:((or ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))))=> ((((fun (P:Prop) (x0:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))->P)) (x1:(((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))->P))=> ((((((or_ind ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx))))) ((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx))))) P) x0) x1) x)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Y x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Y Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Y x1)))=> (((fun (P:Type) (x3:((X x1)->((Y x1)->P)))=> (((((and_rect (X x1)) (Y x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Y x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) ((fun (B:Prop)=> (((or_introl (Y x1)) B) x4)) (Z x1)))))))))) (fun (x0:((ex a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))))=> (((fun (P:Prop) (x1:(forall (x0:a), (((and (X x0)) (Z x0))->P)))=> (((((ex_ind a) (fun (Xx:a)=> ((and (X Xx)) (Z Xx)))) P) x1) x0)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x1:a) (x2:((and (X x1)) (Z x1)))=> (((fun (P:Type) (x3:((X x1)->((Z x1)->P)))=> (((((and_rect (X x1)) (Z x1)) P) x3) x2)) ((ex a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx)))))) (fun (x3:(X x1)) (x4:(Z x1))=> ((((ex_intro a) (fun (Xx:a)=> ((and (X Xx)) ((or (Y Xx)) (Z Xx))))) x1) ((((conj (X x1)) ((or (Y x1)) (Z x1))) x3) (((or_intror (Y x1)) (Z x1)) x4))))))))))))
% % SZS output end Proof for /export/starexec/sandbox/benchmark/theBenchmark.p
% EOF
%------------------------------------------------------------------------------