]> matita.cs.unibo.it Git - helm.git/blob - matitaB/matita/contribs/ng_TPTP/CASC_2008/COL006-6.ma
made executable again
[helm.git] / matitaB / matita / contribs / ng_TPTP / CASC_2008 / COL006-6.ma
1 include "logic/equality.ma".
2
3 (* Inclusion of: COL006-6.p *)
4
5 (* -------------------------------------------------------------------------- *)
6
7 (*  File     : COL006-6 : TPTP v3.7.0. Released v2.1.0. *)
8
9 (*  Domain   : Combinatory Logic *)
10
11 (*  Problem  : Strong fixed point for S and K *)
12
13 (*  Version  : [WM88] (equality) axioms. *)
14
15 (*             Theorem formulation : The fixed point is provided and checked. *)
16
17 (*  English  : The strong fixed point property holds for the set  *)
18
19 (*             P consisting of the combinators S and K alone, where *)
20
21 (*             ((Sx)y)z = (xz)(yz), (Kx)y = x. *)
22
23 (*  Refs     : [WM88]  Wos & McCune (1988), Challenge Problems Focusing on Eq *)
24
25 (*  Source   : [TPTP] *)
26
27 (*  Names    :  *)
28
29 (*  Status   : Unsatisfiable *)
30
31 (*  Rating   : 0.44 v3.4.0, 0.38 v3.3.0, 0.64 v3.1.0, 0.78 v2.7.0, 0.73 v2.6.0, 0.50 v2.5.0, 0.75 v2.4.0, 0.67 v2.2.1, 0.88 v2.2.0, 0.80 v2.1.0 *)
32
33 (*  Syntax   : Number of clauses     :    4 (   0 non-Horn;   4 unit;   2 RR) *)
34
35 (*             Number of atoms       :    4 (   4 equality) *)
36
37 (*             Maximal clause size   :    1 (   1 average) *)
38
39 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
40
41 (*             Number of functors    :    5 (   4 constant; 0-2 arity) *)
42
43 (*             Number of variables   :    5 (   1 singleton) *)
44
45 (*             Maximal term depth    :    8 (   3 average) *)
46
47 (*  Comments :  *)
48
49 (* -------------------------------------------------------------------------- *)
50 ntheorem prove_strong_fixed_point:
51  (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
52 ∀apply:∀_:Univ.∀_:Univ.Univ.
53 ∀fixed_pt:Univ.
54 ∀k:Univ.
55 ∀s:Univ.
56 ∀strong_fixed_point:Univ.
57 ∀H0:eq Univ strong_fixed_point (apply (apply s (apply k (apply (apply s (apply (apply s k) k)) (apply (apply s k) k)))) (apply (apply s (apply (apply s (apply k s)) k)) (apply k (apply (apply s (apply (apply s k) k)) (apply (apply s k) k))))).
58 ∀H1:∀X:Univ.∀Y:Univ.eq Univ (apply (apply k X) Y) X.
59 ∀H2:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (apply (apply (apply s X) Y) Z) (apply (apply X Z) (apply Y Z)).eq Univ (apply strong_fixed_point fixed_pt) (apply fixed_pt (apply strong_fixed_point fixed_pt)))
60 .
61 #Univ ##.
62 #X ##.
63 #Y ##.
64 #Z ##.
65 #apply ##.
66 #fixed_pt ##.
67 #k ##.
68 #s ##.
69 #strong_fixed_point ##.
70 #H0 ##.
71 #H1 ##.
72 #H2 ##.
73 nauto by H0,H1,H2 ##;
74 ntry (nassumption) ##;
75 nqed.
76
77 (* -------------------------------------------------------------------------- *)