]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/library/Q/inv.ma
Another bug.
[helm.git] / helm / software / matita / library / Q / inv.ma
index 39b9c776e9ae997ab4cafe70c147094392e73797..9cc2fc3b43ea9c7c06fd001338221d0c38d37759 100644 (file)
 
 include "Q/q.ma".
 
-let rec finv f \def
-  match f with
-  [ (pp n) \Rightarrow (nn n)
-  | (nn n) \Rightarrow (pp n)
-  | (cons x g) \Rightarrow (cons (Zopp x) (finv g))].
-
-theorem finv_finv: ∀f. finv (finv f) = f.
- intro;
- elim f;
-  [1,2: reflexivity
-  | simplify;
-    rewrite > H;
-    rewrite > Zopp_Zopp;
-    reflexivity
-  ]
-qed.
-
-definition rinv : ratio \to ratio \def
-\lambda r:ratio.
-  match r with
-  [one \Rightarrow one
-  | (frac f) \Rightarrow frac (finv f)].
-
-theorem rinv_rinv: ∀r. rinv (rinv r) = r.
- intro;
- elim r;
-  [ reflexivity
-  | simplify;
-    rewrite > finv_finv;
-    reflexivity]
-qed.
-
-definition Qinv : Q → Q ≝
- λp.
-  match p with
-   [ OQ ⇒ OQ  (* arbitrary value *)
-   | Qpos r ⇒ Qpos (rinv r)
-   | Qneg r ⇒ Qneg (rinv r)
-   ].
-
-theorem Qinv_Qinv: ∀q. Qinv (Qinv q) = q.
- intro;
- elim q;
-  [ reflexivity
-  |*:simplify;
-    rewrite > rinv_rinv;
-    reflexivity]
-qed.
-
+alias id "finv" = "cic:/matita/Q/fraction/finv/finv.con".
 theorem denominator_integral_factor_finv:
  ∀f. enumerator_integral_fraction f = denominator_integral_fraction (finv f).
  intro;
@@ -73,6 +25,7 @@ theorem denominator_integral_factor_finv:
    elim z; simplify; reflexivity]
 qed.
 
+alias id "Qpos" = "cic:/matita/Q/q/q/Q.ind#xpointer(1/1/2)".
 definition is_positive ≝
  λq.
   match q with
@@ -80,6 +33,7 @@ definition is_positive ≝
    | _ ⇒ False
    ].
 
+alias id "Qneg" = "cic:/matita/Q/q/q/Q.ind#xpointer(1/1/3)".
 definition is_negative ≝
  λq.
   match q with
@@ -87,6 +41,7 @@ definition is_negative ≝
    | _ ⇒ False
    ].
 
+(*
 theorem is_positive_denominator_Qinv:
  ∀q. is_positive q → enumerator q = denominator (Qinv q).
  intro;
@@ -125,7 +80,7 @@ theorem is_positive_enumerator_Qinv:
  lapply (is_positive_denominator_Qinv (Qinv q));
   [ rewrite > Qinv_Qinv in Hletin;
     assumption
-  | generalize in match H; elim q; assumption]
+  | elim q in H ⊢ %; assumption]
 qed.
 
 theorem is_negative_enumerator_Qinv:
@@ -134,5 +89,6 @@ theorem is_negative_enumerator_Qinv:
  lapply (is_negative_denominator_Qinv (Qinv q));
   [ rewrite > Qinv_Qinv in Hletin;
     assumption
-  | generalize in match H; elim q; assumption]
-qed.
\ No newline at end of file
+  | elim q in H ⊢ %; assumption]
+qed.
+*)
\ No newline at end of file