]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/dama/divisible_group.ma
Main result for e.
[helm.git] / helm / software / matita / dama / divisible_group.ma
index 44db35a15ca0dfbef614568c71daeac17607f3d0..6830ef4e1751fbf8ebffb24dcb2a1a0a896f3e7a 100644 (file)
@@ -83,3 +83,17 @@ intros; elim n; [simplify; apply eq_reflexive]
 simplify; apply (Eq≈ ? (zero_neutral ??)); assumption; 
 qed.
 
+let rec gpowS (G : abelian_group) (x : G) (n : nat) on n : G ≝
+  match n with [ O ⇒ x | S m ⇒ gpowS ? x m + x].
+  
+lemma gpowS_gpow: ∀G:dgroup.∀e:G.∀n. S n * e ≈ gpowS ? e n.
+intros (G e n); elim n; simplify; [
+  apply (Eq≈ ? (plus_comm ???));apply zero_neutral]
+apply (Eq≈ ?? (plus_comm ???));  
+apply (Eq≈ (e+S n1*e) ? H); clear H; simplify; apply eq_reflexive;
+qed.
+
+lemma divpow: ∀G:dgroup.∀e:G.∀n. e ≈ gpowS ? (e/n) n.
+intros (G e n); apply (Eq≈ ?? (gpowS_gpow ?(e/n) n));
+apply eq_sym; apply divide_divides;
+qed.