]> matita.cs.unibo.it Git - helm.git/blob - matitaB/matita/contribs/ng_TPTP/COL051-1.ma
New management of justifications.
[helm.git] / matitaB / 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.7.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 ##2:
87 nauto by H0,H1 ##;
88 ##| ##skip ##]
89 ntry (nassumption) ##;
90 nqed.
91
92 (* -------------------------------------------------------------------------- *)