]> matita.cs.unibo.it Git - helm.git/blob - matita/tests/TPTP/Veloci/BOO013-2.p.ma
matita 0.5.1 tagged
[helm.git] / matita / tests / TPTP / Veloci / BOO013-2.p.ma
1
2 include "logic/equality.ma".
3 (* Inclusion of: BOO013-2.p *)
4 (* -------------------------------------------------------------------------- *)
5 (*  File     : BOO013-2 : TPTP v3.1.1. Bugfixed v1.2.1. *)
6 (*  Domain   : Boolean Algebra *)
7 (*  Problem  : The inverse of X is unique *)
8 (*  Version  : [ANL] (equality) axioms. *)
9 (*  English  :  *)
10 (*  Refs     :  *)
11 (*  Source   : [ANL] *)
12 (*  Names    : prob9.ver2.in [ANL] *)
13 (*  Status   : Unsatisfiable *)
14 (*  Rating   : 0.00 v2.2.1, 0.11 v2.2.0, 0.14 v2.1.0, 0.14 v2.0.0 *)
15 (*  Syntax   : Number of clauses     :   19 (   0 non-Horn;  19 unit;   5 RR) *)
16 (*             Number of atoms       :   19 (  19 equality) *)
17 (*             Maximal clause size   :    1 (   1 average) *)
18 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
19 (*             Number of functors    :    8 (   5 constant; 0-2 arity) *)
20 (*             Number of variables   :   24 (   0 singleton) *)
21 (*             Maximal term depth    :    3 (   2 average) *)
22 (*  Comments :  *)
23 (*  Bugfixes : v1.2.1 - Clauses b_and_multiplicative_identity and *)
24 (*             c_and_multiplicative_identity fixed. *)
25 (* -------------------------------------------------------------------------- *)
26 (* ----Include boolean algebra axioms for equality formulation  *)
27 (* Inclusion of: Axioms/BOO003-0.ax *)
28 (* -------------------------------------------------------------------------- *)
29 (*  File     : BOO003-0 : TPTP v3.1.1. Released v1.0.0. *)
30 (*  Domain   : Boolean Algebra *)
31 (*  Axioms   : Boolean algebra (equality) axioms *)
32 (*  Version  : [ANL] (equality) axioms. *)
33 (*  English  :  *)
34 (*  Refs     :  *)
35 (*  Source   : [ANL] *)
36 (*  Names    :  *)
37 (*  Status   :  *)
38 (*  Syntax   : Number of clauses    :   14 (   0 non-Horn;  14 unit;   0 RR) *)
39 (*             Number of literals   :   14 (  14 equality) *)
40 (*             Maximal clause size  :    1 (   1 average) *)
41 (*             Number of predicates :    1 (   0 propositional; 2-2 arity) *)
42 (*             Number of functors   :    5 (   2 constant; 0-2 arity) *)
43 (*             Number of variables  :   24 (   0 singleton) *)
44 (*             Maximal term depth   :    3 (   2 average) *)
45 (*  Comments :  *)
46 (* -------------------------------------------------------------------------- *)
47 (* -------------------------------------------------------------------------- *)
48 (* -------------------------------------------------------------------------- *)
49 theorem prove_b_is_a:
50  \forall Univ:Set.
51 \forall a:Univ.
52 \forall add:\forall _:Univ.\forall _:Univ.Univ.
53 \forall additive_identity:Univ.
54 \forall b:Univ.
55 \forall c:Univ.
56 \forall inverse:\forall _:Univ.Univ.
57 \forall multiplicative_identity:Univ.
58 \forall multiply:\forall _:Univ.\forall _:Univ.Univ.
59 \forall H0:eq Univ (multiply a c) additive_identity.
60 \forall H1:eq Univ (multiply a b) additive_identity.
61 \forall H2:eq Univ (add a c) multiplicative_identity.
62 \forall H3:eq Univ (add a b) multiplicative_identity.
63 \forall H4:\forall X:Univ.eq Univ (add additive_identity X) X.
64 \forall H5:\forall X:Univ.eq Univ (add X additive_identity) X.
65 \forall H6:\forall X:Univ.eq Univ (multiply multiplicative_identity X) X.
66 \forall H7:\forall X:Univ.eq Univ (multiply X multiplicative_identity) X.
67 \forall H8:\forall X:Univ.eq Univ (multiply (inverse X) X) additive_identity.
68 \forall H9:\forall X:Univ.eq Univ (multiply X (inverse X)) additive_identity.
69 \forall H10:\forall X:Univ.eq Univ (add (inverse X) X) multiplicative_identity.
70 \forall H11:\forall X:Univ.eq Univ (add X (inverse X)) multiplicative_identity.
71 \forall H12:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (multiply X (add Y Z)) (add (multiply X Y) (multiply X Z)).
72 \forall H13:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (multiply (add X Y) Z) (add (multiply X Z) (multiply Y Z)).
73 \forall H14:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (add X (multiply Y Z)) (multiply (add X Y) (add X Z)).
74 \forall H15:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (add (multiply X Y) Z) (multiply (add X Z) (add Y Z)).
75 \forall H16:\forall X:Univ.\forall Y:Univ.eq Univ (multiply X Y) (multiply Y X).
76 \forall H17:\forall X:Univ.\forall Y:Univ.eq Univ (add X Y) (add Y X).eq Univ b c
77 .
78 intros.
79 autobatch paramodulation timeout=100;
80 try assumption.
81 print proofterm.
82 qed.
83 (* -------------------------------------------------------------------------- *)