X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Ftests%2Funifhint.ma;h=310512b5a73003a332c028582837ed67e4cc95d9;hb=e02c6eaf8d50025c3be8bbf6988ab8b2a37b40da;hp=6d0c73350fa6935b0b41dde31240a341dcd26b48;hpb=4b04f3d6257efe3048e93e41201c533bc5381020;p=helm.git diff --git a/helm/software/matita/tests/unifhint.ma b/helm/software/matita/tests/unifhint.ma index 6d0c73350..310512b5a 100644 --- a/helm/software/matita/tests/unifhint.ma +++ b/helm/software/matita/tests/unifhint.ma @@ -48,15 +48,57 @@ axiom P : ∀g:group. gcarr g → Prop. axiom tac : Expr → Expr. axiom start : ∀g,x,G.P g 〚x,G〛 → Prop. -notation "@ t" non associative with precedence 90 for @{ (λx.x) $t }. +notation > "ident a ≟ term 90 b term 20 c" +non associative with precedence 90 for +@{ let ${ident a} ≝ $b in $c }. +unification hint 0 (∀g:group.∀x:Expr.∀G:list (gcarr g). + V ≟ 〚x,G〛 +(* ------------------------------------ *) + 〚Eopp x,G〛 = V^-1). -unification hint 0 (∀g:group.∀x:Expr.∀G:list (gcarr g). 〚Eopp x,G〛 = (@〚x,G〛) ^-1). -unification hint 0 (∀g:group.∀x,y.∀G:list (gcarr g). 〚Emult x y,G〛 = (@〚x,G〛) * (@〚y,G〛)). -unification hint 0 (∀g:group.∀G:list (gcarr g). 〚Eunit,G〛 = 𝟙). -unification hint 2 (∀g:group.∀G:list (gcarr g).∀x:gcarr g. 〚(Evar 0), (x :: G)〛 = @x). -unification hint 3 (∀g:group.∀G:list (gcarr g).∀n.∀x:gcarr g.(@〚Evar n, G〛)= - (〚(Evar (S n)), (x :: G)〛) ) . + +unification hint 0 (∀g:group.∀x,y.∀G:list (gcarr g). + + V1 ≟ 〚x,G〛 V2 ≟ 〚y,G〛 +(* ------------------------------------ *) + 〚Emult x y,G〛 = V1 * V2). + +unification hint 0 (∀g:group.∀G:list (gcarr g). + +(* ------------------------------------ *) + 〚Eunit,G〛 = 𝟙). + +unification hint 2 (∀g:group.∀G:list (gcarr g).∀x:gcarr g. + + V ≟ x +(* ------------------------------------ *) + 〚(Evar 0), (x :: G)〛 = V). + +unification hint 3 (∀g:group.∀G:list (gcarr g).∀n.∀x:gcarr g. + + V ≟ 〚Evar n, G〛 +(* ------------------------------------ *) + 〚(Evar (S n)), (x :: G)〛 = V) . + +(* Esempio banale di divergenza +unification hint 0 (∀g:group.∀G:list (gcarr g).∀x. + V ≟ 〚x,G〛 + ------------------------------------ + 〚x,G〛 = V). +*) + +include "nat/plus.ma". +unification hint 0 (∀x,y.S x + y = S (x + y)). + +axiom T : nat → Prop. +axiom F : ∀n,k.T (S (n + k)) → Prop. +lemma diverge: ∀k,k1.∀h:T (? + k).F ? k1 h. + ?+k = S(?+k1) + S?1 + k S(?1+k1) + +lemma test : ∀g:group.∀x,y:gcarr g. ∀h:P ? ((𝟙 * x) * (x^-1 * y)). + start g ? ? h. lemma test : ∀g:group.∀x,y:gcarr g. ∀h:P ? ((𝟙 * x) * (x^-1 * y)). start g ? ? h.