]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/tests/TPTP/Veloci/GRP012-4.p.ma
added tests for paramod
[helm.git] / helm / software / matita / tests / TPTP / Veloci / GRP012-4.p.ma
1 set "baseuri" "cic:/matita/TPTP/GRP012-4".
2 include "logic/equality.ma".
3 (* Inclusion of: GRP012-4.p *)
4 (* -------------------------------------------------------------------------- *)
5 (*  File     : GRP012-4 : TPTP v3.1.1. Released v1.0.0. *)
6 (*  Domain   : Group Theory *)
7 (*  Problem  : Inverse of products = Product of inverses *)
8 (*  Version  : [MOW76] (equality) axioms : Augmented. *)
9 (*  English  : The inverse of products equals the product of the inverse,  *)
10 (*             in opposite order *)
11 (*  Refs     : [MOW76] McCharen et al. (1976), Problems and Experiments for a *)
12 (*  Source   : [ANL] *)
13 (*  Names    : - [ANL] *)
14 (*  Status   : Unsatisfiable *)
15 (*  Rating   : 0.00 v2.2.1, 0.22 v2.2.0, 0.29 v2.1.0, 0.25 v2.0.0 *)
16 (*  Syntax   : Number of clauses     :    6 (   0 non-Horn;   6 unit;   1 RR) *)
17 (*             Number of atoms       :    6 (   6 equality) *)
18 (*             Maximal clause size   :    1 (   1 average) *)
19 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
20 (*             Number of functors    :    5 (   3 constant; 0-2 arity) *)
21 (*             Number of variables   :    7 (   0 singleton) *)
22 (*             Maximal term depth    :    3 (   2 average) *)
23 (*  Comments : In Lemmas.eq.clauses of [ANL] *)
24 (* -------------------------------------------------------------------------- *)
25 (* ----Include equality group theory axioms  *)
26 (* Inclusion of: Axioms/GRP004-0.ax *)
27 (* -------------------------------------------------------------------------- *)
28 (*  File     : GRP004-0 : TPTP v3.1.1. Released v1.0.0. *)
29 (*  Domain   : Group Theory *)
30 (*  Axioms   : Group theory (equality) axioms *)
31 (*  Version  : [MOW76] (equality) axioms :  *)
32 (*             Reduced > Complete. *)
33 (*  English  :  *)
34 (*  Refs     : [MOW76] McCharen et al. (1976), Problems and Experiments for a *)
35 (*           : [Wos88] Wos (1988), Automated Reasoning - 33 Basic Research Pr *)
36 (*  Source   : [ANL] *)
37 (*  Names    :  *)
38 (*  Status   :  *)
39 (*  Syntax   : Number of clauses    :    3 (   0 non-Horn;   3 unit;   0 RR) *)
40 (*             Number of literals   :    3 (   3 equality) *)
41 (*             Maximal clause size  :    1 (   1 average) *)
42 (*             Number of predicates :    1 (   0 propositional; 2-2 arity) *)
43 (*             Number of functors   :    3 (   1 constant; 0-2 arity) *)
44 (*             Number of variables  :    5 (   0 singleton) *)
45 (*             Maximal term depth   :    3 (   2 average) *)
46 (*  Comments : [MOW76] also contains redundant right_identity and *)
47 (*             right_inverse axioms. *)
48 (*           : These axioms are also used in [Wos88] p.186, also with *)
49 (*             right_identity and right_inverse. *)
50 (* -------------------------------------------------------------------------- *)
51 (* ----For any x and y in the group x*y is also in the group. No clause  *)
52 (* ----is needed here since this is an instance of reflexivity  *)
53 (* ----There exists an identity element  *)
54 (* ----For any x in the group, there exists an element y such that x*y = y*x  *)
55 (* ----= identity. *)
56 (* ----The operation '*' is associative  *)
57 (* -------------------------------------------------------------------------- *)
58 (* -------------------------------------------------------------------------- *)
59 (* ----Redundant two axioms *)
60 theorem prove_inverse_of_product_is_product_of_inverses:
61  \forall Univ:Set.
62 \forall a:Univ.
63 \forall b:Univ.
64 \forall identity:Univ.
65 \forall inverse:\forall _:Univ.Univ.
66 \forall multiply:\forall _:Univ.\forall _:Univ.Univ.
67 \forall H0:\forall X:Univ.eq Univ (multiply X (inverse X)) identity.
68 \forall H1:\forall X:Univ.eq Univ (multiply X identity) X.
69 \forall H2:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (multiply (multiply X Y) Z) (multiply X (multiply Y Z)).
70 \forall H3:\forall X:Univ.eq Univ (multiply (inverse X) X) identity.
71 \forall H4:\forall X:Univ.eq Univ (multiply identity X) X.eq Univ (inverse (multiply a b)) (multiply (inverse b) (inverse a))
72 .
73 intros.
74 auto paramodulation timeout=600.
75 try assumption.
76 print proofterm.
77 qed.
78 (* -------------------------------------------------------------------------- *)