]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/TPTP/HEQ/HEN011-3.ma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / TPTP / HEQ / HEN011-3.ma
1 set "baseuri" "cic:/matita/TPTP/HEN011-3".
2 include "logic/equality.ma".
3
4 (* Inclusion of: HEN011-3.p *)
5
6 (* -------------------------------------------------------------------------- *)
7
8 (*  File     : HEN011-3 : TPTP v3.2.0. Released v1.0.0. *)
9
10 (*  Domain   : Henkin Models *)
11
12 (*  Problem  : This operation is commutative *)
13
14 (*  Version  : [MOW76] axioms. *)
15
16 (*  English  : Define & on the set of Z', where Z' = identity/Z,  *)
17
18 (*             by X' & Y'=X'/(identity/Y'). The operation is commutative. *)
19
20 (*  Refs     : [MOW76] McCharen et al. (1976), Problems and Experiments for a *)
21
22 (*  Source   : [ANL] *)
23
24 (*  Names    : HP11 [ANL] *)
25
26 (*  Status   : Unsatisfiable *)
27
28 (*  Rating   : 0.43 v3.2.0, 0.14 v3.1.0, 0.33 v2.7.0, 0.17 v2.6.0, 0.43 v2.5.0, 0.40 v2.4.0, 0.50 v2.3.0, 0.33 v2.2.1, 0.67 v2.2.0, 0.86 v2.1.0, 1.00 v2.0.0 *)
29
30 (*  Syntax   : Number of clauses     :   13 (   0 non-Horn;  10 unit;   9 RR) *)
31
32 (*             Number of atoms       :   17 (   9 equality) *)
33
34 (*             Maximal clause size   :    3 (   1 average) *)
35
36 (*             Number of predicates  :    2 (   0 propositional; 2-2 arity) *)
37
38 (*             Number of functors    :    9 (   8 constant; 0-2 arity) *)
39
40 (*             Number of variables   :   13 (   3 singleton) *)
41
42 (*             Maximal term depth    :    4 (   2 average) *)
43
44 (*  Comments :  *)
45
46 (* -------------------------------------------------------------------------- *)
47
48 (* ----Include Henkin model axioms for equality formulation  *)
49
50 (* Inclusion of: Axioms/HEN002-0.ax *)
51
52 (* -------------------------------------------------------------------------- *)
53
54 (*  File     : HEN002-0 : TPTP v3.2.0. Released v1.0.0. *)
55
56 (*  Domain   : Henkin Models *)
57
58 (*  Axioms   : Henkin model axioms *)
59
60 (*  Version  : [MOW76] axioms. *)
61
62 (*  English  :  *)
63
64 (*  Refs     : [MOW76] McCharen et al. (1976), Problems and Experiments for a *)
65
66 (*  Source   : [ANL] *)
67
68 (*  Names    :  *)
69
70 (*  Status   :  *)
71
72 (*  Syntax   : Number of clauses    :    7 (   0 non-Horn;   4 unit;   3 RR) *)
73
74 (*             Number of literals   :   11 (   3 equality) *)
75
76 (*             Maximal clause size  :    3 (   2 average) *)
77
78 (*             Number of predicates :    2 (   0 propositional; 2-2 arity) *)
79
80 (*             Number of functors   :    3 (   2 constant; 0-2 arity) *)
81
82 (*             Number of variables  :   13 (   3 singleton) *)
83
84 (*             Maximal term depth   :    3 (   1 average) *)
85
86 (*  Comments :  *)
87
88 (* -------------------------------------------------------------------------- *)
89
90 (* ----A0: Definition of less_equal  *)
91
92 (* ----A1: x/y <= x  *)
93
94 (* ----A2: (x/z) / (y/z) <= (x/y) / z  *)
95
96 (* ----A3: 0<=x  *)
97
98 (* ----A4: x <= y and y <= x implies that x = y  *)
99
100 (* ----A5: x <= identity (Thus an implicative model with unit )  *)
101
102 (* ----Implicit in equality formulation: '/' is well defined  *)
103
104 (* -------------------------------------------------------------------------- *)
105
106 (* -------------------------------------------------------------------------- *)
107 theorem prove_commutativity:
108  ∀Univ:Set.∀X:Univ.∀Y:Univ.∀Z:Univ.∀a:Univ.∀b:Univ.∀c:Univ.∀d:Univ.∀divide:∀_:Univ.∀_:Univ.Univ.∀e:Univ.∀g:Univ.∀identity:Univ.∀less_equal:∀_:Univ.∀_:Univ.Prop.∀zero:Univ.∀H0:eq Univ (divide identity d) g.∀H1:eq Univ (divide identity c) e.∀H2:eq Univ (divide identity b) d.∀H3:eq Univ (divide identity a) c.∀H4:eq Univ (divide (divide identity a) (divide identity (divide identity b))) (divide (divide identity b) (divide identity (divide identity a))).∀H5:∀X:Univ.less_equal X identity.∀H6:∀X:Univ.∀Y:Univ.∀_:less_equal Y X.∀_:less_equal X Y.eq Univ X Y.∀H7:∀X:Univ.less_equal zero X.∀H8:∀X:Univ.∀Y:Univ.∀Z:Univ.less_equal (divide (divide X Z) (divide Y Z)) (divide (divide X Y) Z).∀H9:∀X:Univ.∀Y:Univ.less_equal (divide X Y) X.∀H10:∀X:Univ.∀Y:Univ.∀_:eq Univ (divide X Y) zero.less_equal X Y.∀H11:∀X:Univ.∀Y:Univ.∀_:less_equal X Y.eq Univ (divide X Y) zero.eq Univ (divide c g) (divide d e)
109 .
110 intros.
111 autobatch depth=5 width=5 size=20 timeout=10;
112 try assumption.
113 print proofterm.
114 qed.
115
116 (* -------------------------------------------------------------------------- *)