]> matita.cs.unibo.it Git - helm.git/blob - matitaB/matita/contribs/ng_TPTP/COL001-2.ma
New management of justifications.
[helm.git] / matitaB / matita / contribs / ng_TPTP / COL001-2.ma
1 include "logic/equality.ma".
2
3 (* Inclusion of: COL001-2.p *)
4
5 (* -------------------------------------------------------------------------- *)
6
7 (*  File     : COL001-2 : TPTP v3.7.0. Released v1.0.0. *)
8
9 (*  Domain   : Combinatory Logic *)
10
11 (*  Problem  : Weak fixed point for S and K *)
12
13 (*  Version  : [WM88] (equality) axioms : Augmented. *)
14
15 (*  English  : The weak fixed point property holds for the set P consisting  *)
16
17 (*             of the combinators S and K alone, where ((Sx)y)z = (xz)(yz)  *)
18
19 (*             and (Kx)y = x. *)
20
21 (*  Refs     : [WM88]  Wos & McCune (1988), Challenge Problems Focusing on Eq *)
22
23 (*  Source   : [TPTP] *)
24
25 (*  Names    :  *)
26
27 (*  Status   : Unsatisfiable *)
28
29 (*  Rating   : 0.11 v3.4.0, 0.12 v3.3.0, 0.07 v3.1.0, 0.11 v2.7.0, 0.00 v2.1.0, 0.13 v2.0.0 *)
30
31 (*  Syntax   : Number of clauses     :    6 (   0 non-Horn;   6 unit;   1 RR) *)
32
33 (*             Number of atoms       :    6 (   6 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    :    7 (   6 constant; 0-2 arity) *)
40
41 (*             Number of variables   :   11 (   1 singleton) *)
42
43 (*             Maximal term depth    :    6 (   3 average) *)
44
45 (*  Comments : This allows the use of B and I in the proof, as done in the *)
46
47 (*             "Proof of Theorem C1" in [WM88]. *)
48
49 (* -------------------------------------------------------------------------- *)
50 ntheorem prove_fixed_point:
51  (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
52 ∀apply:∀_:Univ.∀_:Univ.Univ.
53 ∀b:Univ.
54 ∀combinator:Univ.
55 ∀i:Univ.
56 ∀k:Univ.
57 ∀s:Univ.
58 ∀x:Univ.
59 ∀H0:∀X:Univ.eq Univ (apply (apply (apply s (apply b X)) i) (apply (apply s (apply b X)) i)) (apply x (apply (apply (apply s (apply b X)) i) (apply (apply s (apply b X)) i))).
60 ∀H1:∀X:Univ.eq Univ (apply i X) X.
61 ∀H2:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (apply (apply (apply b X) Y) Z) (apply X (apply Y Z)).
62 ∀H3:∀X:Univ.∀Y:Univ.eq Univ (apply (apply k X) Y) X.
63 ∀H4:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (apply (apply (apply s X) Y) Z) (apply (apply X Z) (apply Y Z)).∃Y:Univ.eq Univ Y (apply combinator Y))
64 .
65 #Univ ##.
66 #X ##.
67 #Y ##.
68 #Z ##.
69 #apply ##.
70 #b ##.
71 #combinator ##.
72 #i ##.
73 #k ##.
74 #s ##.
75 #x ##.
76 #H0 ##.
77 #H1 ##.
78 #H2 ##.
79 #H3 ##.
80 #H4 ##.
81 napply (ex_intro ? ? ? ?) ##[
82 ##2:
83 nauto by H0,H1,H2,H3,H4 ##;
84 ##| ##skip ##]
85 ntry (nassumption) ##;
86 nqed.
87
88 (* -------------------------------------------------------------------------- *)