]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/ng_TPTP/COL075-2.ma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / ng_TPTP / COL075-2.ma
1 include "logic/equality.ma".
2
3 (* Inclusion of: COL075-2.p *)
4
5 (* -------------------------------------------------------------------------- *)
6
7 (*  File     : COL075-2 : TPTP v3.7.0. Released v1.2.0. *)
8
9 (*  Domain   : Combinatory Logic *)
10
11 (*  Problem  : Lemma 1 for showing the unsatisfiable variant of TRC *)
12
13 (*  Version  : [Jec95] (equality) axioms : Reduced > Incomplete. *)
14
15 (*  English  : Searching for a diagonal combinator F with the property  *)
16
17 (*             f X Y = X X. *)
18
19 (*  Refs     : [Jec95] Jech (1995), Otter Experiments in a System of Combinat *)
20
21 (*  Source   : [Jec95] *)
22
23 (*  Names    : - [Jec95] *)
24
25 (*  Status   : Unsatisfiable *)
26
27 (*  Rating   : 0.11 v3.4.0, 0.12 v3.3.0, 0.00 v2.0.0 *)
28
29 (*  Syntax   : Number of clauses     :    3 (   0 non-Horn;   3 unit;   1 RR) *)
30
31 (*             Number of atoms       :    3 (   3 equality) *)
32
33 (*             Maximal clause size   :    1 (   1 average) *)
34
35 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
36
37 (*             Number of functors    :    5 (   2 constant; 0-2 arity) *)
38
39 (*             Number of variables   :    6 (   1 singleton) *)
40
41 (*             Maximal term depth    :    4 (   3 average) *)
42
43 (*  Comments :  *)
44
45 (* -------------------------------------------------------------------------- *)
46
47 (* ----Don't include axioms of Type-respecting combinators  *)
48
49 (* include('Axioms/COL001-0.ax'). *)
50
51 (* -------------------------------------------------------------------------- *)
52
53 (* ----Replace k function by k combinator  *)
54
55 (* input_clause(k_definition,axiom, *)
56
57 (*     [++equal(apply(k(X),Y),X)]). *)
58
59 (* ----Replace k function by k combinator  *)
60
61 (* input_clause(abstraction,axiom, *)
62
63 (*     [++equal(apply(apply(apply(abstraction,X),Y),Z),apply(apply(X,k(Z)), *)
64
65 (* apply(Y,Z)))]). *)
66
67 (* ----Subsitution axioms  *)
68 ntheorem prove_diagonal_combinator:
69  (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
70 ∀abstraction:Univ.
71 ∀apply:∀_:Univ.∀_:Univ.Univ.
72 ∀b:∀_:Univ.Univ.
73 ∀c:∀_:Univ.Univ.
74 ∀k:Univ.
75 ∀H0:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (apply (apply (apply abstraction X) Y) Z) (apply (apply X (apply k Z)) (apply Y Z)).
76 ∀H1:∀X:Univ.∀Y:Univ.eq Univ (apply (apply k X) Y) X.∃Y:Univ.eq Univ (apply (apply Y (b Y)) (c Y)) (apply (b Y) (b Y)))
77 .
78 #Univ ##.
79 #X ##.
80 #Y ##.
81 #Z ##.
82 #abstraction ##.
83 #apply ##.
84 #b ##.
85 #c ##.
86 #k ##.
87 #H0 ##.
88 #H1 ##.
89 napply (ex_intro ? ? ? ?) ##[
90 ##2:
91 nauto by H0,H1 ##;
92 ##| ##skip ##]
93 ntry (nassumption) ##;
94 nqed.
95
96 (* -------------------------------------------------------------------------- *)