X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Ftests%2Fmultiple_inheritance.ma;h=1aa708fb1264bc1be037d2e3f5c8241f44e90b71;hb=4ed8829233095bdf2ab1c15021ba815084d19b70;hp=413c42d443fbe83e0600cf5ed58fe3639f946363;hpb=4eb929cc3290f574fc290433c12553acefd8f714;p=helm.git diff --git a/helm/software/matita/tests/multiple_inheritance.ma b/helm/software/matita/tests/multiple_inheritance.ma index 413c42d44..1aa708fb1 100644 --- a/helm/software/matita/tests/multiple_inheritance.ma +++ b/helm/software/matita/tests/multiple_inheritance.ma @@ -12,7 +12,7 @@ (* *) (**************************************************************************) -set "baseuri" "cic:/matita/test/". + include "logic/equality.ma". @@ -28,18 +28,19 @@ record R : Type := { r1 :> R1; r2_ : R2; with_: C r1 = K r2_ }. lemma r2 : R → R2. intro; apply mk_R2; - [ apply (C r) - | apply (eq_rect ? ? (λx.x → x → x)); - [3: symmetry; - [2: apply (with_ r) - | skip - ] - | skip - | apply (mult (r2_ r)) - ] - ]. + [ exact (C r) + | rewrite > (with_ r); exact (mult (r2_ r))] +qed. +coercion cic:/matita/tests/multiple_inheritance/r2.con. + +(* convertibility test *) +lemma conv_test : ∀r:R.C r -> K r. + intros. + change with (C (r1 r)). + change with (K (r2 r)). + change with (C (r1 r)). + assumption. qed. -coercion cic:/matita/test/r2.con. (* Let's play with it *) definition f ≝ λr:R.λx:r.plus ? (mult ? x x) x. @@ -51,4 +52,7 @@ lemma test: ∀r:R. ∀x:r. f ? x = x. intros; unfold f; autobatch paramodulation. -qed. \ No newline at end of file +qed. + + +