]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/ng_TPTP/COL052-1.ma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / ng_TPTP / COL052-1.ma
1 include "logic/equality.ma".
2
3 (* Inclusion of: COL052-1.p *)
4
5 (* -------------------------------------------------------------------------- *)
6
7 (*  File     : COL052-1 : TPTP v3.7.0. Released v1.0.0. *)
8
9 (*  Domain   : Combinatory Logic *)
10
11 (*  Problem  : A Question on Agreeable Birds *)
12
13 (*  Version  : Especial. *)
14
15 (*             Theorem formulation : Implicit definition of agreeable. *)
16
17 (*  English  : For all birds x and y, there exists a bird z that composes  *)
18
19 (*             x with y for all birds w. Prove that if C is agreeable then  *)
20
21 (*             A is agreeable. *)
22
23 (*  Refs     : [Smu85] Smullyan (1978), To Mock a Mocking Bird and Other Logi *)
24
25 (*  Source   : [ANL] *)
26
27 (*  Names    : bird4.ver1.in [ANL] *)
28
29 (*  Status   : Unsatisfiable *)
30
31 (*  Rating   : 0.00 v2.0.0 *)
32
33 (*  Syntax   : Number of clauses     :    4 (   0 non-Horn;   4 unit;   2 RR) *)
34
35 (*             Number of atoms       :    4 (   4 equality) *)
36
37 (*             Maximal clause size   :    1 (   1 average) *)
38
39 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
40
41 (*             Number of functors    :    7 (   4 constant; 0-2 arity) *)
42
43 (*             Number of variables   :    5 (   0 singleton) *)
44
45 (*             Maximal term depth    :    3 (   2 average) *)
46
47 (*  Comments :  *)
48
49 (* -------------------------------------------------------------------------- *)
50
51 (* ----For all birds x and y, there exists a bird z that composes x with  *)
52
53 (* ----y for all birds w. *)
54
55 (* ----   FAx FAy TEz FAw [response(z,w) = response(x,response(y,w))]. *)
56
57 (* ----   response(comp(x,y),w) = response(x,response(y,w)).  *)
58
59 (* ----Hypothesis: If C is agreeable then A is agreeable. *)
60
61 (* ----   -[ If FAx TEy (response(C,y) = response(x,y)), *)
62
63 (* ----      then FAw TEv (response(A,v) = response(w,v)) ]. *)
64
65 (* ----   -[ TEx FAy -(response(C,y) = response(x,y)) | *)
66
67 (* ----      FAw TEv (response(A,v) = response(w,v)) ]. *)
68
69 (* ----   FAx TEy (response(C,y) = response(x,y)) and *)
70
71 (* ----      TEw FAv -(response(A,v) = response(w,v). *)
72
73 (* ----   response(C,commom_bird(x)) = response(x,common_bird(x)) and *)
74
75 (* ----      -(response(A,v) = response(odd_bird,v)). *)
76 ntheorem prove_a_is_agreeable:
77  (∀Univ:Type.∀V:Univ.∀W:Univ.∀X:Univ.∀Y:Univ.
78 ∀a:Univ.
79 ∀c:Univ.
80 ∀common_bird:∀_:Univ.Univ.
81 ∀compose:∀_:Univ.∀_:Univ.Univ.
82 ∀odd_bird:Univ.
83 ∀response:∀_:Univ.∀_:Univ.Univ.
84 ∀H0:∀X:Univ.eq Univ (response c (common_bird X)) (response X (common_bird X)).
85 ∀H1:∀W:Univ.∀X:Univ.∀Y:Univ.eq Univ (response (compose X Y) W) (response X (response Y W)).∃V:Univ.eq Univ (response a V) (response odd_bird V))
86 .
87 #Univ ##.
88 #V ##.
89 #W ##.
90 #X ##.
91 #Y ##.
92 #a ##.
93 #c ##.
94 #common_bird ##.
95 #compose ##.
96 #odd_bird ##.
97 #response ##.
98 #H0 ##.
99 #H1 ##.
100 napply (ex_intro ? ? ? ?) ##[
101 ##2:
102 nauto by H0,H1 ##;
103 ##| ##skip ##]
104 ntry (nassumption) ##;
105 nqed.
106
107 (* ----C composes A with B. WHY is this here?  *)
108
109 (* -------------------------------------------------------------------------- *)