]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/ng_TPTP/COL073-1.ma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / ng_TPTP / COL073-1.ma
1 include "logic/equality.ma".
2
3 (* Inclusion of: COL073-1.p *)
4
5 (* -------------------------------------------------------------------------- *)
6
7 (*  File     : COL073-1 : TPTP v3.7.0. Released v1.2.0. *)
8
9 (*  Domain   : Combinatory Logic *)
10
11 (*  Problem  : Strong fixed point for B and N1 *)
12
13 (*  Version  : [WM88] (equality) axioms. *)
14
15 (*  English  : The strong fixed point property holds for the set  *)
16
17 (*             P consisting of the combinators B and N1, where N1xyz = xyyz,  *)
18
19 (*             ((Bx)y)z = x(yz). *)
20
21 (*  Refs     : [WM88]  Wos & McCune (1988), Challenge Problems Focusing on Eq *)
22
23 (*           : [Wos93] Wos (1993), The Kernel Strategy and Its Use for the St *)
24
25 (*           : [Zha94] Zhang (1994), Solution to Another Open Question in Com *)
26
27 (*           : [Pel98] Peltier (1998), A New Method for Automated Finite Mode *)
28
29 (*  Source   : [Wos93] *)
30
31 (*  Names    : Question 18 [Wos93] *)
32
33 (*           : 4.2.5 (CL1) [Pel98] *)
34
35 (*  Status   : Satisfiable *)
36
37 (*  Rating   : 0.33 v3.2.0, 0.67 v3.1.0, 0.33 v2.4.0, 0.67 v2.3.0, 1.00 v2.0.0 *)
38
39 (*  Syntax   : Number of clauses     :    3 (   0 non-Horn;   3 unit;   1 RR) *)
40
41 (*             Number of atoms       :    3 (   3 equality) *)
42
43 (*             Maximal clause size   :    1 (   1 average) *)
44
45 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
46
47 (*             Number of functors    :    4 (   2 constant; 0-2 arity) *)
48
49 (*             Number of variables   :    7 (   0 singleton) *)
50
51 (*             Maximal term depth    :    4 (   4 average) *)
52
53 (*  Comments :  *)
54
55 (* -------------------------------------------------------------------------- *)
56 ntheorem prove_strong_fixed_point:
57  (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
58 ∀apply:∀_:Univ.∀_:Univ.Univ.
59 ∀b:Univ.
60 ∀f:∀_:Univ.Univ.
61 ∀n1:Univ.
62 ∀H0:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (apply (apply (apply b X) Y) Z) (apply X (apply Y Z)).
63 ∀H1:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (apply (apply (apply n1 X) Y) Z) (apply (apply (apply X Y) Y) Z).∃Y:Univ.eq Univ (apply Y (f Y)) (apply (f Y) (apply Y (f Y))))
64 .
65 #Univ ##.
66 #X ##.
67 #Y ##.
68 #Z ##.
69 #apply ##.
70 #b ##.
71 #f ##.
72 #n1 ##.
73 #H0 ##.
74 #H1 ##.
75 napply (ex_intro ? ? ? ?) ##[
76 ##2:
77 nauto by H0,H1 ##;
78 ##| ##skip ##]
79 ntry (nassumption) ##;
80 nqed.
81
82 (* -------------------------------------------------------------------------- *)