]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/ng_TPTP/ROB003-1.ma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / ng_TPTP / ROB003-1.ma
1 include "logic/equality.ma".
2
3 (* Inclusion of: ROB003-1.p *)
4
5 (* -------------------------------------------------------------------------- *)
6
7 (*  File     : ROB003-1 : TPTP v3.7.0. Released v1.0.0. *)
8
9 (*  Domain   : Robbins Algebra *)
10
11 (*  Problem  : X + c=c => Boolean *)
12
13 (*  Version  : [Win90] (equality) axioms. *)
14
15 (*  English  : If there exists c such that X+c=c, then the algebra  *)
16
17 (*             is Boolean. *)
18
19 (*  Refs     : [HMT71] Henkin et al. (1971), Cylindrical Algebras *)
20
21 (*           : [Win90] Winker (1990), Robbins Algebra: Conditions that make a *)
22
23 (*           : [LW92]  Lusk & Wos (1992), Benchmark Problems in Which Equalit *)
24
25 (*  Source   : [OTTER] *)
26
27 (*  Names    : Lemma 2.2 [Win90] *)
28
29 (*           : RA1 [LW92] *)
30
31 (*           : robbins.in [OTTER] *)
32
33 (*  Status   : Unsatisfiable *)
34
35 (*  Rating   : 0.00 v2.2.1, 0.22 v2.2.0, 0.29 v2.1.0, 0.25 v2.0.0 *)
36
37 (*  Syntax   : Number of clauses     :    5 (   0 non-Horn;   5 unit;   1 RR) *)
38
39 (*             Number of atoms       :    5 (   5 equality) *)
40
41 (*             Maximal clause size   :    1 (   1 average) *)
42
43 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
44
45 (*             Number of functors    :    5 (   3 constant; 0-2 arity) *)
46
47 (*             Number of variables   :    8 (   1 singleton) *)
48
49 (*             Maximal term depth    :    6 (   3 average) *)
50
51 (*  Comments : Commutativity, associativity, and Huntington's axiom  *)
52
53 (*             axiomatize Boolean algebra. *)
54
55 (*           : In Overbeek's version, the hypothesis is slightly different : *)
56
57 (*             ...an element c such that c+c=c, then... Mail from McCune says *)
58
59 (*             that this is a simpler problem. *)
60
61 (* -------------------------------------------------------------------------- *)
62
63 (* ----Include axioms for Robbins algebra  *)
64
65 (* Inclusion of: Axioms/ROB001-0.ax *)
66
67 (* -------------------------------------------------------------------------- *)
68
69 (*  File     : ROB001-0 : TPTP v3.7.0. Released v1.0.0. *)
70
71 (*  Domain   : Robbins algebra *)
72
73 (*  Axioms   : Robbins algebra axioms *)
74
75 (*  Version  : [Win90] (equality) axioms. *)
76
77 (*  English  :  *)
78
79 (*  Refs     : [HMT71] Henkin et al. (1971), Cylindrical Algebras *)
80
81 (*           : [Win90] Winker (1990), Robbins Algebra: Conditions that make a *)
82
83 (*  Source   : [OTTER] *)
84
85 (*  Names    : Lemma 2.2 [Win90] *)
86
87 (*  Status   :  *)
88
89 (*  Syntax   : Number of clauses    :    3 (   0 non-Horn;   3 unit;   0 RR) *)
90
91 (*             Number of atoms      :    3 (   3 equality) *)
92
93 (*             Maximal clause size  :    1 (   1 average) *)
94
95 (*             Number of predicates :    1 (   0 propositional; 2-2 arity) *)
96
97 (*             Number of functors   :    2 (   0 constant; 1-2 arity) *)
98
99 (*             Number of variables  :    7 (   0 singleton) *)
100
101 (*             Maximal term depth   :    6 (   3 average) *)
102
103 (*  Comments :  *)
104
105 (* -------------------------------------------------------------------------- *)
106
107 (* -------------------------------------------------------------------------- *)
108
109 (* -------------------------------------------------------------------------- *)
110 ntheorem prove_huntingtons_axiom:
111  (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
112 ∀a:Univ.
113 ∀add:∀_:Univ.∀_:Univ.Univ.
114 ∀b:Univ.
115 ∀c:Univ.
116 ∀negate:∀_:Univ.Univ.
117 ∀H0:∀X:Univ.eq Univ (add X c) c.
118 ∀H1:∀X:Univ.∀Y:Univ.eq Univ (negate (add (negate (add X Y)) (negate (add X (negate Y))))) X.
119 ∀H2:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add (add X Y) Z) (add X (add Y Z)).
120 ∀H3:∀X:Univ.∀Y:Univ.eq Univ (add X Y) (add Y X).eq Univ (add (negate (add a (negate b))) (negate (add (negate a) (negate b)))) b)
121 .
122 #Univ ##.
123 #X ##.
124 #Y ##.
125 #Z ##.
126 #a ##.
127 #add ##.
128 #b ##.
129 #c ##.
130 #negate ##.
131 #H0 ##.
132 #H1 ##.
133 #H2 ##.
134 #H3 ##.
135 nauto by H0,H1,H2,H3 ##;
136 ntry (nassumption) ##;
137 nqed.
138
139 (* -------------------------------------------------------------------------- *)