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