X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2Falgebra%2Ffinite_groups.ma;h=79521e20650c95f8a2016df8c0e82ae921a432ad;hb=3caba0beeaf8d1f111d28e3b381956aa6aff363a;hp=44238d69ebb049f77a5f7d1e528263d95a20deff;hpb=ebb14e0084aecd167bc42245625c4eb3167df9d5;p=helm.git diff --git a/helm/software/matita/library/algebra/finite_groups.ma b/helm/software/matita/library/algebra/finite_groups.ma index 44238d69e..79521e206 100644 --- a/helm/software/matita/library/algebra/finite_groups.ma +++ b/helm/software/matita/library/algebra/finite_groups.ma @@ -16,7 +16,7 @@ set "baseuri" "cic:/matita/algebra/finite_groups/". include "algebra/groups.ma". -record finite_enumerable (T:Type) : Type ≝ +record finite_enumerable (T:Type) : Type≝ { order: nat; repr: nat → T; index_of: T → nat; @@ -39,7 +39,7 @@ for @{ 'card $C }. interpretation "Finite_enumerable order" 'card C = (cic:/matita/algebra/finite_groups/order.con C _). -record finite_enumerable_SemiGroup : Type ≝ +record finite_enumerable_SemiGroup : Type≝ { semigroup:> SemiGroup; is_finite_enumerable:> finite_enumerable semigroup }. @@ -60,7 +60,7 @@ interpretation "Index_of_finite_enumerable representation" (* several definitions/theorems to be moved somewhere else *) -definition ltb ≝ λn,m. leb n m ∧ notb (eqb n m). +definition ltb ≝λn,m. leb n m ∧ notb (eqb n m). theorem not_eq_to_le_to_lt: ∀n,m. n≠m → n≤m → n (repr_index_of ? (is_finite_enumerable G)) in HH; apply (ex_intro ? ? (G \sub a)); - letin GOGO ≝ (refl_eq ? (repr ? (is_finite_enumerable G) O)); + letin GOGO ≝(refl_eq ? (repr ? (is_finite_enumerable G) O)); clearbody GOGO; rewrite < HH in GOGO; rewrite < HH in GOGO:(? ? % ?); rewrite > (op_associative ? G) in GOGO; - letin GaGa ≝ (H ? ? ? GOGO); + letin GaGa ≝(H ? ? ? GOGO); clearbody GaGa; clear GOGO; constructor 1; [ simplify; apply (semigroup_properties G) | unfold is_left_unit; intro; - letin GaxGax ≝ (refl_eq ? (G \sub a ·x)); - clearbody GaxGax; + letin GaxGax ≝(refl_eq ? (G \sub a ·x)); + clearbody GaxGax; (* demo *) rewrite < GaGa in GaxGax:(? ? % ?); rewrite > (op_associative ? (semigroup_properties G)) in GaxGax; apply (H ? ? ? GaxGax) | unfold is_right_unit; intro; - letin GaxGax ≝ (refl_eq ? (x·G \sub a)); + letin GaxGax ≝(refl_eq ? (x·G \sub a)); clearbody GaxGax; rewrite < GaGa in GaxGax:(? ? % ?); rewrite < (op_associative ? (semigroup_properties G)) in GaxGax;