]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/ng_TPTP/COL051-1.ma
d13e3a273c9bafa4a91d73c1a430fca5c5f91ee2
[helm.git] / helm / software / matita / contribs / ng_TPTP / COL051-1.ma
1 include "logic/equality.ma".
2
3 (* Inclusion of: COL051-1.p *)
4
5 (* -------------------------------------------------------------------------- *)
6
7 (*  File     : COL051-1 : TPTP v3.2.0. Released v1.0.0. *)
8
9 (*  Domain   : Combinatory Logic *)
10
11 (*  Problem  : Egocentric mocking bird? *)
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 there exists a bird x that is fond of itself. *)
20
21 (*  Refs     : [Smu85] Smullyan (1978), To Mock a Mocking Bird and Other Logi *)
22
23 (*  Source   : [ANL] *)
24
25 (*  Names    : bird2.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    :    3 (   1 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: There exists a bird x that is fond of itself. *)
64
65 (* ----    -TEx [response(x,x) = x]. *)
66
67 (* ----    FAx -[response(x,x) = x]. *)
68 ntheorem prove_the_bird_exists:
69  ∀Univ:Type.∀W:Univ.∀X:Univ.∀Y:Univ.
70 ∀compose:∀_:Univ.∀_:Univ.Univ.
71 ∀mocking_bird:Univ.
72 ∀response:∀_:Univ.∀_:Univ.Univ.
73 ∀H0:∀W:Univ.∀X:Univ.∀Y:Univ.eq Univ (response (compose X Y) W) (response X (response Y W)).
74 ∀H1:∀Y:Univ.eq Univ (response mocking_bird Y) (response Y Y).∃X:Univ.eq Univ (response X X) X
75 .
76 #Univ.
77 #W.
78 #X.
79 #Y.
80 #compose.
81 #mocking_bird.
82 #response.
83 #H0.
84 #H1.
85 napply ex_intro[
86 nid2:
87 nauto by H0,H1;
88 nid|
89 skip]
90 nqed.
91
92 (* -------------------------------------------------------------------------- *)