TSTP Solution File: SET753^4 by cocATP---0.2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : SET753^4 : TPTP v6.1.0. Released v3.6.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n093.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:31:03 EDT 2014

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

% Comments : 
%------------------------------------------------------------------------------
%----ERROR: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : SET753^4 : TPTP v6.1.0. Released v3.6.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n093.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:49:11 CDT 2014
% % CPUTime  : 67.71 
% Python 2.7.5
% Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/']
% Failed to open /home/cristobal/cocATP/CASC/TPTP/Axioms/SET008^0.ax, trying next directory
% FOF formula (<kernel.Constant object at 0x16af248>, <kernel.DependentProduct object at 0x16afea8>) of role type named in_decl
% Using role type
% Declaring in:(fofType->((fofType->Prop)->Prop))
% FOF formula (((eq (fofType->((fofType->Prop)->Prop))) in) (fun (X:fofType) (M:(fofType->Prop))=> (M X))) of role definition named in
% A new definition: (((eq (fofType->((fofType->Prop)->Prop))) in) (fun (X:fofType) (M:(fofType->Prop))=> (M X)))
% Defined: in:=(fun (X:fofType) (M:(fofType->Prop))=> (M X))
% FOF formula (<kernel.Constant object at 0x16af248>, <kernel.DependentProduct object at 0x16aff80>) of role type named is_a_decl
% Using role type
% Declaring is_a:(fofType->((fofType->Prop)->Prop))
% FOF formula (((eq (fofType->((fofType->Prop)->Prop))) is_a) (fun (X:fofType) (M:(fofType->Prop))=> (M X))) of role definition named is_a
% A new definition: (((eq (fofType->((fofType->Prop)->Prop))) is_a) (fun (X:fofType) (M:(fofType->Prop))=> (M X)))
% Defined: is_a:=(fun (X:fofType) (M:(fofType->Prop))=> (M X))
% FOF formula (<kernel.Constant object at 0x16aff80>, <kernel.DependentProduct object at 0x16afea8>) of role type named emptyset_decl
% Using role type
% Declaring emptyset:(fofType->Prop)
% FOF formula (((eq (fofType->Prop)) emptyset) (fun (X:fofType)=> False)) of role definition named emptyset
% A new definition: (((eq (fofType->Prop)) emptyset) (fun (X:fofType)=> False))
% Defined: emptyset:=(fun (X:fofType)=> False)
% FOF formula (<kernel.Constant object at 0x1392d88>, <kernel.DependentProduct object at 0x16af320>) of role type named unord_pair_decl
% Using role type
% Declaring unord_pair:(fofType->(fofType->(fofType->Prop)))
% FOF formula (((eq (fofType->(fofType->(fofType->Prop)))) unord_pair) (fun (X:fofType) (Y:fofType) (U:fofType)=> ((or (((eq fofType) U) X)) (((eq fofType) U) Y)))) of role definition named unord_pair
% A new definition: (((eq (fofType->(fofType->(fofType->Prop)))) unord_pair) (fun (X:fofType) (Y:fofType) (U:fofType)=> ((or (((eq fofType) U) X)) (((eq fofType) U) Y))))
% Defined: unord_pair:=(fun (X:fofType) (Y:fofType) (U:fofType)=> ((or (((eq fofType) U) X)) (((eq fofType) U) Y)))
% FOF formula (<kernel.Constant object at 0x16af170>, <kernel.DependentProduct object at 0x16afc68>) of role type named singleton_decl
% Using role type
% Declaring singleton:(fofType->(fofType->Prop))
% FOF formula (((eq (fofType->(fofType->Prop))) singleton) (fun (X:fofType) (U:fofType)=> (((eq fofType) U) X))) of role definition named singleton
% A new definition: (((eq (fofType->(fofType->Prop))) singleton) (fun (X:fofType) (U:fofType)=> (((eq fofType) U) X)))
% Defined: singleton:=(fun (X:fofType) (U:fofType)=> (((eq fofType) U) X))
% FOF formula (<kernel.Constant object at 0x16af5f0>, <kernel.DependentProduct object at 0x16afe18>) of role type named union_decl
% Using role type
% Declaring union:((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))
% FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) union) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U)))) of role definition named union
% A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) union) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U))))
% Defined: union:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U)))
% FOF formula (<kernel.Constant object at 0x16af320>, <kernel.DependentProduct object at 0x14cdfc8>) of role type named excl_union_decl
% Using role type
% Declaring excl_union:((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))
% FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) excl_union) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or ((and (X U)) ((Y U)->False))) ((and ((X U)->False)) (Y U))))) of role definition named excl_union
% A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) excl_union) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or ((and (X U)) ((Y U)->False))) ((and ((X U)->False)) (Y U)))))
% Defined: excl_union:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or ((and (X U)) ((Y U)->False))) ((and ((X U)->False)) (Y U))))
% FOF formula (<kernel.Constant object at 0x16af320>, <kernel.DependentProduct object at 0x14cda70>) of role type named intersection_decl
% Using role type
% Declaring intersection:((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))
% FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) intersection) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) (Y U)))) of role definition named intersection
% A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) intersection) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) (Y U))))
% Defined: intersection:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) (Y U)))
% FOF formula (<kernel.Constant object at 0x16af320>, <kernel.DependentProduct object at 0x14cdb00>) of role type named setminus_decl
% Using role type
% Declaring setminus:((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))
% FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) setminus) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) ((Y U)->False)))) of role definition named setminus
% A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->(fofType->Prop)))) setminus) (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) ((Y U)->False))))
% Defined: setminus:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) ((Y U)->False)))
% FOF formula (<kernel.Constant object at 0x14cdb00>, <kernel.DependentProduct object at 0x14cd950>) of role type named complement_decl
% Using role type
% Declaring complement:((fofType->Prop)->(fofType->Prop))
% FOF formula (((eq ((fofType->Prop)->(fofType->Prop))) complement) (fun (X:(fofType->Prop)) (U:fofType)=> ((X U)->False))) of role definition named complement
% A new definition: (((eq ((fofType->Prop)->(fofType->Prop))) complement) (fun (X:(fofType->Prop)) (U:fofType)=> ((X U)->False)))
% Defined: complement:=(fun (X:(fofType->Prop)) (U:fofType)=> ((X U)->False))
% FOF formula (<kernel.Constant object at 0x14cd950>, <kernel.DependentProduct object at 0x14cde60>) of role type named disjoint_decl
% Using role type
% Declaring disjoint:((fofType->Prop)->((fofType->Prop)->Prop))
% FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) disjoint) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((eq (fofType->Prop)) ((intersection X) Y)) emptyset))) of role definition named disjoint
% A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) disjoint) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((eq (fofType->Prop)) ((intersection X) Y)) emptyset)))
% Defined: disjoint:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((eq (fofType->Prop)) ((intersection X) Y)) emptyset))
% FOF formula (<kernel.Constant object at 0x1905f38>, <kernel.DependentProduct object at 0x14cdef0>) of role type named subset_decl
% Using role type
% Declaring subset:((fofType->Prop)->((fofType->Prop)->Prop))
% FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) subset) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (forall (U:fofType), ((X U)->(Y U))))) of role definition named subset
% A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) subset) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (forall (U:fofType), ((X U)->(Y U)))))
% Defined: subset:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (forall (U:fofType), ((X U)->(Y U))))
% FOF formula (<kernel.Constant object at 0x1905830>, <kernel.DependentProduct object at 0x14cdfc8>) of role type named meets_decl
% Using role type
% Declaring meets:((fofType->Prop)->((fofType->Prop)->Prop))
% FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) meets) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U)))))) of role definition named meets
% A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) meets) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U))))))
% Defined: meets:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U)))))
% FOF formula (<kernel.Constant object at 0x14cdfc8>, <kernel.DependentProduct object at 0x14cd9e0>) of role type named misses_decl
% Using role type
% Declaring misses:((fofType->Prop)->((fofType->Prop)->Prop))
% FOF formula (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) misses) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U))))->False))) of role definition named misses
% A new definition: (((eq ((fofType->Prop)->((fofType->Prop)->Prop))) misses) (fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U))))->False)))
% Defined: misses:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U))))->False))
% Failed to open /home/cristobal/cocATP/CASC/TPTP/Axioms/SET008^1.ax, trying next directory
% FOF formula (<kernel.Constant object at 0x16af128>, <kernel.DependentProduct object at 0x16aff80>) of role type named fun_image_decl
% Using role type
% Declaring fun_image:((fofType->fofType)->((fofType->Prop)->(fofType->Prop)))
% FOF formula (((eq ((fofType->fofType)->((fofType->Prop)->(fofType->Prop)))) fun_image) (fun (F:(fofType->fofType)) (A:(fofType->Prop)) (Y:fofType)=> ((ex fofType) (fun (X:fofType)=> ((and (A X)) (((eq fofType) Y) (F X))))))) of role definition named fun_image
% A new definition: (((eq ((fofType->fofType)->((fofType->Prop)->(fofType->Prop)))) fun_image) (fun (F:(fofType->fofType)) (A:(fofType->Prop)) (Y:fofType)=> ((ex fofType) (fun (X:fofType)=> ((and (A X)) (((eq fofType) Y) (F X)))))))
% Defined: fun_image:=(fun (F:(fofType->fofType)) (A:(fofType->Prop)) (Y:fofType)=> ((ex fofType) (fun (X:fofType)=> ((and (A X)) (((eq fofType) Y) (F X))))))
% FOF formula (<kernel.Constant object at 0x1905f38>, <kernel.DependentProduct object at 0x16afef0>) of role type named fun_composition_decl
% Using role type
% Declaring fun_composition:((fofType->fofType)->((fofType->fofType)->(fofType->fofType)))
% FOF formula (((eq ((fofType->fofType)->((fofType->fofType)->(fofType->fofType)))) fun_composition) (fun (F:(fofType->fofType)) (G:(fofType->fofType)) (X:fofType)=> (G (F X)))) of role definition named fun_composition
% A new definition: (((eq ((fofType->fofType)->((fofType->fofType)->(fofType->fofType)))) fun_composition) (fun (F:(fofType->fofType)) (G:(fofType->fofType)) (X:fofType)=> (G (F X))))
% Defined: fun_composition:=(fun (F:(fofType->fofType)) (G:(fofType->fofType)) (X:fofType)=> (G (F X)))
% FOF formula (<kernel.Constant object at 0x16afe18>, <kernel.DependentProduct object at 0x16afc68>) of role type named fun_inv_image_decl
% Using role type
% Declaring fun_inv_image:((fofType->fofType)->((fofType->Prop)->(fofType->Prop)))
% FOF formula (((eq ((fofType->fofType)->((fofType->Prop)->(fofType->Prop)))) fun_inv_image) (fun (F:(fofType->fofType)) (B:(fofType->Prop)) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and (B Y)) (((eq fofType) Y) (F X))))))) of role definition named fun_inv_image
% A new definition: (((eq ((fofType->fofType)->((fofType->Prop)->(fofType->Prop)))) fun_inv_image) (fun (F:(fofType->fofType)) (B:(fofType->Prop)) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and (B Y)) (((eq fofType) Y) (F X)))))))
% Defined: fun_inv_image:=(fun (F:(fofType->fofType)) (B:(fofType->Prop)) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and (B Y)) (((eq fofType) Y) (F X))))))
% FOF formula (<kernel.Constant object at 0x16afc68>, <kernel.DependentProduct object at 0x16af290>) of role type named fun_injective_decl
% Using role type
% Declaring fun_injective:((fofType->fofType)->Prop)
% FOF formula (((eq ((fofType->fofType)->Prop)) fun_injective) (fun (F:(fofType->fofType))=> (forall (X:fofType) (Y:fofType), ((((eq fofType) (F X)) (F Y))->(((eq fofType) X) Y))))) of role definition named fun_injective
% A new definition: (((eq ((fofType->fofType)->Prop)) fun_injective) (fun (F:(fofType->fofType))=> (forall (X:fofType) (Y:fofType), ((((eq fofType) (F X)) (F Y))->(((eq fofType) X) Y)))))
% Defined: fun_injective:=(fun (F:(fofType->fofType))=> (forall (X:fofType) (Y:fofType), ((((eq fofType) (F X)) (F Y))->(((eq fofType) X) Y))))
% FOF formula (<kernel.Constant object at 0x16af128>, <kernel.DependentProduct object at 0x16aff38>) of role type named fun_surjective_decl
% Using role type
% Declaring fun_surjective:((fofType->fofType)->Prop)
% FOF formula (((eq ((fofType->fofType)->Prop)) fun_surjective) (fun (F:(fofType->fofType))=> (forall (Y:fofType), ((ex fofType) (fun (X:fofType)=> (((eq fofType) Y) (F X))))))) of role definition named fun_surjective
% A new definition: (((eq ((fofType->fofType)->Prop)) fun_surjective) (fun (F:(fofType->fofType))=> (forall (Y:fofType), ((ex fofType) (fun (X:fofType)=> (((eq fofType) Y) (F X)))))))
% Defined: fun_surjective:=(fun (F:(fofType->fofType))=> (forall (Y:fofType), ((ex fofType) (fun (X:fofType)=> (((eq fofType) Y) (F X))))))
% FOF formula (<kernel.Constant object at 0x16afe18>, <kernel.DependentProduct object at 0x16afc68>) of role type named fun_bijective_decl
% Using role type
% Declaring fun_bijective:((fofType->fofType)->Prop)
% FOF formula (((eq ((fofType->fofType)->Prop)) fun_bijective) (fun (F:(fofType->fofType))=> ((and (fun_injective F)) (fun_surjective F)))) of role definition named fun_bijective
% A new definition: (((eq ((fofType->fofType)->Prop)) fun_bijective) (fun (F:(fofType->fofType))=> ((and (fun_injective F)) (fun_surjective F))))
% Defined: fun_bijective:=(fun (F:(fofType->fofType))=> ((and (fun_injective F)) (fun_surjective F)))
% FOF formula (<kernel.Constant object at 0x16aff38>, <kernel.DependentProduct object at 0x14cd5a8>) of role type named fun_decreasing_decl
% Using role type
% Declaring fun_decreasing:((fofType->fofType)->((fofType->(fofType->Prop))->Prop))
% FOF formula (((eq ((fofType->fofType)->((fofType->(fofType->Prop))->Prop))) fun_decreasing) (fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F Y)) (F X)))))) of role definition named fun_decreasing
% A new definition: (((eq ((fofType->fofType)->((fofType->(fofType->Prop))->Prop))) fun_decreasing) (fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F Y)) (F X))))))
% Defined: fun_decreasing:=(fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F Y)) (F X)))))
% FOF formula (<kernel.Constant object at 0x16af128>, <kernel.DependentProduct object at 0x14cd7a0>) of role type named fun_increasing_decl
% Using role type
% Declaring fun_increasing:((fofType->fofType)->((fofType->(fofType->Prop))->Prop))
% FOF formula (((eq ((fofType->fofType)->((fofType->(fofType->Prop))->Prop))) fun_increasing) (fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F X)) (F Y)))))) of role definition named fun_increasing
% A new definition: (((eq ((fofType->fofType)->((fofType->(fofType->Prop))->Prop))) fun_increasing) (fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F X)) (F Y))))))
% Defined: fun_increasing:=(fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F X)) (F Y)))))
% FOF formula (forall (X:(fofType->Prop)) (Y:(fofType->Prop)) (F:(fofType->fofType)), ((subset ((fun_image F) ((intersection X) Y))) ((intersection ((fun_image F) X)) ((fun_image F) Y)))) of role conjecture named thm
% Conjecture to prove = (forall (X:(fofType->Prop)) (Y:(fofType->Prop)) (F:(fofType->fofType)), ((subset ((fun_image F) ((intersection X) Y))) ((intersection ((fun_image F) X)) ((fun_image F) Y)))):Prop
% Parameter fofType_DUMMY:fofType.
% We need to prove ['(forall (X:(fofType->Prop)) (Y:(fofType->Prop)) (F:(fofType->fofType)), ((subset ((fun_image F) ((intersection X) Y))) ((intersection ((fun_image F) X)) ((fun_image F) Y))))']
% Parameter fofType:Type.
% Definition in:=(fun (X:fofType) (M:(fofType->Prop))=> (M X)):(fofType->((fofType->Prop)->Prop)).
% Definition is_a:=(fun (X:fofType) (M:(fofType->Prop))=> (M X)):(fofType->((fofType->Prop)->Prop)).
% Definition emptyset:=(fun (X:fofType)=> False):(fofType->Prop).
% Definition unord_pair:=(fun (X:fofType) (Y:fofType) (U:fofType)=> ((or (((eq fofType) U) X)) (((eq fofType) U) Y))):(fofType->(fofType->(fofType->Prop))).
% Definition singleton:=(fun (X:fofType) (U:fofType)=> (((eq fofType) U) X)):(fofType->(fofType->Prop)).
% Definition union:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or (X U)) (Y U))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))).
% Definition excl_union:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((or ((and (X U)) ((Y U)->False))) ((and ((X U)->False)) (Y U)))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))).
% Definition intersection:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) (Y U))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))).
% Definition setminus:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (U:fofType)=> ((and (X U)) ((Y U)->False))):((fofType->Prop)->((fofType->Prop)->(fofType->Prop))).
% Definition complement:=(fun (X:(fofType->Prop)) (U:fofType)=> ((X U)->False)):((fofType->Prop)->(fofType->Prop)).
% Definition disjoint:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((eq (fofType->Prop)) ((intersection X) Y)) emptyset)):((fofType->Prop)->((fofType->Prop)->Prop)).
% Definition subset:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (forall (U:fofType), ((X U)->(Y U)))):((fofType->Prop)->((fofType->Prop)->Prop)).
% Definition meets:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> ((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U))))):((fofType->Prop)->((fofType->Prop)->Prop)).
% Definition misses:=(fun (X:(fofType->Prop)) (Y:(fofType->Prop))=> (((ex fofType) (fun (U:fofType)=> ((and (X U)) (Y U))))->False)):((fofType->Prop)->((fofType->Prop)->Prop)).
% Definition fun_image:=(fun (F:(fofType->fofType)) (A:(fofType->Prop)) (Y:fofType)=> ((ex fofType) (fun (X:fofType)=> ((and (A X)) (((eq fofType) Y) (F X)))))):((fofType->fofType)->((fofType->Prop)->(fofType->Prop))).
% Definition fun_composition:=(fun (F:(fofType->fofType)) (G:(fofType->fofType)) (X:fofType)=> (G (F X))):((fofType->fofType)->((fofType->fofType)->(fofType->fofType))).
% Definition fun_inv_image:=(fun (F:(fofType->fofType)) (B:(fofType->Prop)) (X:fofType)=> ((ex fofType) (fun (Y:fofType)=> ((and (B Y)) (((eq fofType) Y) (F X)))))):((fofType->fofType)->((fofType->Prop)->(fofType->Prop))).
% Definition fun_injective:=(fun (F:(fofType->fofType))=> (forall (X:fofType) (Y:fofType), ((((eq fofType) (F X)) (F Y))->(((eq fofType) X) Y)))):((fofType->fofType)->Prop).
% Definition fun_surjective:=(fun (F:(fofType->fofType))=> (forall (Y:fofType), ((ex fofType) (fun (X:fofType)=> (((eq fofType) Y) (F X)))))):((fofType->fofType)->Prop).
% Definition fun_bijective:=(fun (F:(fofType->fofType))=> ((and (fun_injective F)) (fun_surjective F))):((fofType->fofType)->Prop).
% Definition fun_decreasing:=(fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F Y)) (F X))))):((fofType->fofType)->((fofType->(fofType->Prop))->Prop)).
% Definition fun_increasing:=(fun (F:(fofType->fofType)) (SMALLER:(fofType->(fofType->Prop)))=> (forall (X:fofType) (Y:fofType), (((SMALLER X) Y)->((SMALLER (F X)) (F Y))))):((fofType->fofType)->((fofType->(fofType->Prop))->Prop)).
% Trying to prove (forall (X:(fofType->Prop)) (Y:(fofType->Prop)) (F:(fofType->fofType)), ((subset ((fun_image F) ((intersection X) Y))) ((intersection ((fun_image F) X)) ((fun_image F) Y))))
% Found eq_ref00:=(eq_ref0 (((fun_image F) Y) U)):(((eq Prop) (((fun_image F) Y) U)) (((fun_image F) Y) U))
% Found (eq_ref0 (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found eq_ref00:=(eq_ref0 (((fun_image F) Y) U)):(((eq Prop) (((fun_image F) Y) U)) (((fun_image F) Y) U))
% Found (eq_ref0 (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found conj:(forall (A:Prop) (B:Prop), (A->(B->((and A) B))))
% Instantiate: b:=(forall (A:Prop) (B:Prop), (A->(B->((and A) B)))):Prop
% Found conj as proof of b
% Found conj:(forall (A:Prop) (B:Prop), (A->(B->((and A) B))))
% Instantiate: b:=(forall (A:Prop) (B:Prop), (A->(B->((and A) B)))):Prop
% Found conj as proof of b
% Found eq_ref00:=(eq_ref0 (((fun_image F) Y) U)):(((eq Prop) (((fun_image F) Y) U)) (((fun_image F) Y) U))
% Found (eq_ref0 (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found eq_ref00:=(eq_ref0 (((fun_image F) Y) U)):(((eq Prop) (((fun_image F) Y) U)) (((fun_image F) Y) U))
% Found (eq_ref0 (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found eq_ref00:=(eq_ref0 (((fun_image F) Y) U)):(((eq Prop) (((fun_image F) Y) U)) (((fun_image F) Y) U))
% Found (eq_ref0 (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found conj:(forall (A:Prop) (B:Prop), (A->(B->((and A) B))))
% Instantiate: b:=(forall (A:Prop) (B:Prop), (A->(B->((and A) B)))):Prop
% Found conj as proof of b
% Found conj:(forall (A:Prop) (B:Prop), (A->(B->((and A) B))))
% Instantiate: b:=(forall (A:Prop) (B:Prop), (A->(B->((and A) B)))):Prop
% Found conj as proof of b
% Found conj:(forall (A:Prop) (B:Prop), (A->(B->((and A) B))))
% Instantiate: b:=(forall (A:Prop) (B:Prop), (A->(B->((and A) B)))):Prop
% Found conj as proof of b
% Found x3:(((eq fofType) U) (F x0))
% Instantiate: x4:=x0:fofType
% Found x3 as proof of (((eq fofType) U) (F x4))
% Found x3:(((eq fofType) U) (F x0))
% Instantiate: x4:=x0:fofType
% Found x3 as proof of (((eq fofType) U) (F x4))
% Found eq_ref00:=(eq_ref0 (((fun_image F) Y) U)):(((eq Prop) (((fun_image F) Y) U)) (((fun_image F) Y) U))
% Found (eq_ref0 (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found conj:(forall (A:Prop) (B:Prop), (A->(B->((and A) B))))
% Instantiate: b:=(forall (A:Prop) (B:Prop), (A->(B->((and A) B)))):Prop
% Found conj as proof of b
% Found conj:(forall (A:Prop) (B:Prop), (A->(B->((and A) B))))
% Instantiate: b:=(forall (A:Prop) (B:Prop), (A->(B->((and A) B)))):Prop
% Found conj as proof of b
% Found eq_ref00:=(eq_ref0 (((fun_image F) Y) U)):(((eq Prop) (((fun_image F) Y) U)) (((fun_image F) Y) U))
% Found (eq_ref0 (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found eq_ref00:=(eq_ref0 (((fun_image F) Y) U)):(((eq Prop) (((fun_image F) Y) U)) (((fun_image F) Y) U))
% Found (eq_ref0 (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found eq_ref00:=(eq_ref0 (((fun_image F) Y) U)):(((eq Prop) (((fun_image F) Y) U)) (((fun_image F) Y) U))
% Found (eq_ref0 (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found ((eq_ref Prop) (((fun_image F) Y) U)) as proof of (((eq Prop) (((fun_image F) Y) U)) b)
% Found proj2:(forall (A:Prop) (B:Prop), (((and A) B)->B))
% Instantiate: b:=(forall (A:Prop) (B:Prop), (((and A) B)->B)):Prop
% Found proj2 as proof of b
% Found x:(((fun_image F) ((intersection X) Y)) U)
% Instantiate: b:=(fun (X0:fofType)=> ((and (((intersection X) Y) X0)) (((eq fofType) U) (F X0)))):(fofType->Prop)
% Found x as proof of (P b)
% Found x:(((fun_image F) ((intersection X) Y)) U)
% Instantiate: b:=(fun (X0:fofType)=> ((and (((intersection X) Y) X0)) (((eq fofType) U) (F X0)))):(fofType->Prop)
% Found x as proof of (P b)
% Found proj2:(forall (A:Prop) (B:Prop), (((and A) B)->B))
% Instantiate: b:=(forall (A:Prop) (B:Prop), (((and A) B)->B)):Prop
% Found proj2 as proof of b
% Found proj2:(forall (A:Prop) (B:Prop), (((and A) B)->B))
% Instantiate: b:=(forall (A:Prop) (B:Prop), (((and A) B)->B)):Prop
% Found proj2 as proof of b
% Found proj2:(forall (A:Prop) (B:Prop), (((and A) B)->B))
% Instantiate: b:=(forall (A:Prop) (B:Prop), (((and A) B)->B)):Prop
% Found proj2 as proof of b
% Found eta_expansion000:=(eta_expansion00 (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))):(((eq (fofType->Prop)) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) (fun (x:fofType)=> ((and (Y x)) (((eq fofType) U) (F x)))))
% Found (eta_expansion00 (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) b)
% Found ((eta_expansion0 Prop) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) b)
% Found (((eta_expansion fofType) Prop) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) b)
% Found (((eta_expansion fofType) Prop) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) b)
% Found (((eta_expansion fofType) Prop) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) as proof of (((eq (fofType->Prop)) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) b)
% Found eq_ref00:=(eq_ref0 (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))):(((eq (fofType->Prop)) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0)))))
% Found (eq_ref0 (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) as proof of (((eq (fofType->Prop)) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) as proof of (((eq (fofType->Prop)) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) as proof of (((eq (fofType->Prop)) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) b)
% Found ((eq_ref (fofType->Prop)) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) as proof of (((eq (fofType->Prop)) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) b)
% Found x3:(((eq fofType) U) (F x0))
% Instantiate: x4:=x0:fofType
% Found x3 as proof of (((eq fofType) U) (F x4))
% Found x3:(((eq fofType) U) (F x0))
% Instantiate: x4:=x0:fofType
% Found x3 as proof of (((eq fofType) U) (F x4))
% Found x3:(((eq fofType) U) (F x0))
% Instantiate: x4:=x0:fofType
% Found x3 as proof of (((eq fofType) U) (F x4))
% Found x3:(((eq fofType) U) (F x0))
% Instantiate: x4:=x0:fofType
% Found x3 as proof of (((eq fofType) U) (F x4))
% Found x3:(((eq fofType) U) (F x0))
% Instantiate: x6:=x0:fofType
% Found x3 as proof of (((eq fofType) U) (F x6))
% Found x5:(Y x0)
% Instantiate: x6:=x0:fofType
% Found x5 as proof of (Y x6)
% Found ((conj10 x5) x3) as proof of ((and (Y x6)) (((eq fofType) U) (F x6)))
% Found (((conj1 (((eq fofType) U) (F x6))) x5) x3) as proof of ((and (Y x6)) (((eq fofType) U) (F x6)))
% Found ((((conj (Y x6)) (((eq fofType) U) (F x6))) x5) x3) as proof of ((and (Y x6)) (((eq fofType) U) (F x6)))
% Found ((((conj (Y x6)) (((eq fofType) U) (F x6))) x5) x3) as proof of ((and (Y x6)) (((eq fofType) U) (F x6)))
% Found (ex_intro000 ((((conj (Y x6)) (((eq fofType) U) (F x6))) x5) x3)) as proof of ((ex fofType) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X)))))
% Found ((ex_intro00 x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)) as proof of ((ex fofType) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X)))))
% Found (((ex_intro0 (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)) as proof of ((ex fofType) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X)))))
% Found ((((ex_intro fofType) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)) as proof of ((ex fofType) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X)))))
% Found ((((ex_intro fofType) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)) as proof of ((ex fofType) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X)))))
% Found ((((ex_intro fofType) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)) as proof of (((fun_image F) Y) U)
% Found x3:(((eq fofType) U) (F x0))
% Instantiate: x6:=x0:fofType
% Found x3 as proof of (((eq fofType) U) (F x6))
% Found x4:(X x0)
% Instantiate: x6:=x0:fofType
% Found x4 as proof of (X x6)
% Found ((conj10 x4) x3) as proof of ((and (X x6)) (((eq fofType) U) (F x6)))
% Found (((conj1 (((eq fofType) U) (F x6))) x4) x3) as proof of ((and (X x6)) (((eq fofType) U) (F x6)))
% Found ((((conj (X x6)) (((eq fofType) U) (F x6))) x4) x3) as proof of ((and (X x6)) (((eq fofType) U) (F x6)))
% Found ((((conj (X x6)) (((eq fofType) U) (F x6))) x4) x3) as proof of ((and (X x6)) (((eq fofType) U) (F x6)))
% Found (ex_intro000 ((((conj (X x6)) (((eq fofType) U) (F x6))) x4) x3)) as proof of ((ex fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0)))))
% Found ((ex_intro00 x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3)) as proof of ((ex fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0)))))
% Found (((ex_intro0 (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3)) as proof of ((ex fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0)))))
% Found ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3)) as proof of ((ex fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0)))))
% Found ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3)) as proof of ((ex fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0)))))
% Found ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3)) as proof of (((fun_image F) X) U)
% Found ((conj00 ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found (((conj0 (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X:fofType)=> ((and (Y X)) (((eq fofType) U) (F X))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found (fun (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))) as proof of ((Y x0)->(((intersection ((fun_image F) X)) ((fun_image F) Y)) U))
% Found (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))) as proof of ((X x0)->((Y x0)->(((intersection ((fun_image F) X)) ((fun_image F) Y)) U)))
% Found (and_rect10 (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found ((and_rect1 (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found (fun (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))))) as proof of ((((eq fofType) U) (F x0))->(((intersection ((fun_image F) X)) ((fun_image F) Y)) U))
% Found (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))))) as proof of ((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->(((intersection ((fun_image F) X)) ((fun_image F) Y)) U)))
% Found (and_rect00 (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))))))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found ((and_rect0 (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))))))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))))))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found (fun (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))))))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))))))) as proof of (((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0)))->(((intersection ((fun_image F) X)) ((fun_image F) Y)) U))
% Found (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))))))) as proof of (forall (x:fofType), (((and (((intersection X) Y) x)) (((eq fofType) U) (F x)))->(((intersection ((fun_image F) X)) ((fun_image F) Y)) U)))
% Found (ex_ind00 (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))))))))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found ((ex_ind0 (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))))))))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found (((fun (P:Prop) (x0:(forall (x:fofType), (((and (((intersection X) Y) x)) (((eq fofType) U) (F x)))->P)))=> (((((ex_ind fofType) (fun (X0:fofType)=> ((and (((intersection X) Y) X0)) (((eq fofType) U) (F X0))))) P) x0) x)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))))))))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found (fun (x:(((fun_image F) ((intersection X) Y)) U))=> (((fun (P:Prop) (x0:(forall (x:fofType), (((and (((intersection X) Y) x)) (((eq fofType) U) (F x)))->P)))=> (((((ex_ind fofType) (fun (X0:fofType)=> ((and (((intersection X) Y) X0)) (((eq fofType) U) (F X0))))) P) x0) x)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))))))))) as proof of (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)
% Found (fun (U:fofType) (x:(((fun_image F) ((intersection X) Y)) U))=> (((fun (P:Prop) (x0:(forall (x:fofType), (((and (((intersection X) Y) x)) (((eq fofType) U) (F x)))->P)))=> (((((ex_ind fofType) (fun (X0:fofType)=> ((and (((intersection X) Y) X0)) (((eq fofType) U) (F X0))))) P) x0) x)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))))))))) as proof of ((((fun_image F) ((intersection X) Y)) U)->(((intersection ((fun_image F) X)) ((fun_image F) Y)) U))
% Found (fun (F:(fofType->fofType)) (U:fofType) (x:(((fun_image F) ((intersection X) Y)) U))=> (((fun (P:Prop) (x0:(forall (x:fofType), (((and (((intersection X) Y) x)) (((eq fofType) U) (F x)))->P)))=> (((((ex_ind fofType) (fun (X0:fofType)=> ((and (((intersection X) Y) X0)) (((eq fofType) U) (F X0))))) P) x0) x)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))))))))) as proof of ((subset ((fun_image F) ((intersection X) Y))) ((intersection ((fun_image F) X)) ((fun_image F) Y)))
% Found (fun (Y:(fofType->Prop)) (F:(fofType->fofType)) (U:fofType) (x:(((fun_image F) ((intersection X) Y)) U))=> (((fun (P:Prop) (x0:(forall (x:fofType), (((and (((intersection X) Y) x)) (((eq fofType) U) (F x)))->P)))=> (((((ex_ind fofType) (fun (X0:fofType)=> ((and (((intersection X) Y) X0)) (((eq fofType) U) (F X0))))) P) x0) x)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))))))))) as proof of (forall (F:(fofType->fofType)), ((subset ((fun_image F) ((intersection X) Y))) ((intersection ((fun_image F) X)) ((fun_image F) Y))))
% Found (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (F:(fofType->fofType)) (U:fofType) (x:(((fun_image F) ((intersection X) Y)) U))=> (((fun (P:Prop) (x0:(forall (x:fofType), (((and (((intersection X) Y) x)) (((eq fofType) U) (F x)))->P)))=> (((((ex_ind fofType) (fun (X0:fofType)=> ((and (((intersection X) Y) X0)) (((eq fofType) U) (F X0))))) P) x0) x)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))))))))) as proof of (forall (Y:(fofType->Prop)) (F:(fofType->fofType)), ((subset ((fun_image F) ((intersection X) Y))) ((intersection ((fun_image F) X)) ((fun_image F) Y))))
% Found (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (F:(fofType->fofType)) (U:fofType) (x:(((fun_image F) ((intersection X) Y)) U))=> (((fun (P:Prop) (x0:(forall (x:fofType), (((and (((intersection X) Y) x)) (((eq fofType) U) (F x)))->P)))=> (((((ex_ind fofType) (fun (X0:fofType)=> ((and (((intersection X) Y) X0)) (((eq fofType) U) (F X0))))) P) x0) x)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3)))))))))) as proof of (forall (X:(fofType->Prop)) (Y:(fofType->Prop)) (F:(fofType->fofType)), ((subset ((fun_image F) ((intersection X) Y))) ((intersection ((fun_image F) X)) ((fun_image F) Y))))
% Got proof (fun (X:(fofType->Prop)) (Y:(fofType->Prop)) (F:(fofType->fofType)) (U:fofType) (x:(((fun_image F) ((intersection X) Y)) U))=> (((fun (P:Prop) (x0:(forall (x:fofType), (((and (((intersection X) Y) x)) (((eq fofType) U) (F x)))->P)))=> (((((ex_ind fofType) (fun (X0:fofType)=> ((and (((intersection X) Y) X0)) (((eq fofType) U) (F X0))))) P) x0) x)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))))))))))
% Time elapsed = 66.813920s
% node=6000 cost=2350.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:(fofType->Prop)) (Y:(fofType->Prop)) (F:(fofType->fofType)) (U:fofType) (x:(((fun_image F) ((intersection X) Y)) U))=> (((fun (P:Prop) (x0:(forall (x:fofType), (((and (((intersection X) Y) x)) (((eq fofType) U) (F x)))->P)))=> (((((ex_ind fofType) (fun (X0:fofType)=> ((and (((intersection X) Y) X0)) (((eq fofType) U) (F X0))))) P) x0) x)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x0:fofType) (x1:((and (((intersection X) Y) x0)) (((eq fofType) U) (F x0))))=> (((fun (P:Type) (x2:((((intersection X) Y) x0)->((((eq fofType) U) (F x0))->P)))=> (((((and_rect (((intersection X) Y) x0)) (((eq fofType) U) (F x0))) P) x2) x1)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x2:(((intersection X) Y) x0)) (x3:(((eq fofType) U) (F x0)))=> (((fun (P:Type) (x4:((X x0)->((Y x0)->P)))=> (((((and_rect (X x0)) (Y x0)) P) x4) x2)) (((intersection ((fun_image F) X)) ((fun_image F) Y)) U)) (fun (x4:(X x0)) (x5:(Y x0))=> ((((conj (((fun_image F) X) U)) (((fun_image F) Y) U)) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (X X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (X x0)) (((eq fofType) U) (F x0))) x4) x3))) ((((ex_intro fofType) (fun (X0:fofType)=> ((and (Y X0)) (((eq fofType) U) (F X0))))) x0) ((((conj (Y x0)) (((eq fofType) U) (F x0))) x5) x3))))))))))
% % SZS output end Proof for /export/starexec/sandbox/benchmark/theBenchmark.p
% EOF
%------------------------------------------------------------------------------