X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Fmatita.txt;h=d71a5f510dce1deedd0684eaec42708509013c20;hb=3a12950125e7a4a792546aacea40505f3cecae89;hp=0c75b9f1d48aacac55f5ce3228da699ff40eb254;hpb=b86c7faf724d119431a1c52b0587802d0defa2cc;p=helm.git diff --git a/helm/matita/matita.txt b/helm/matita/matita.txt index 0c75b9f1d..d71a5f510 100644 --- a/helm/matita/matita.txt +++ b/helm/matita/matita.txt @@ -11,27 +11,14 @@ TODO TATTICHE + - verificare il comportamento di tutte le tattiche con il parsing lazy -> CSC + - file elim.ma: vengono creati lambda dummy e referenziati nell'outtype di + un case - tattiche e fallimenti: una tattica che non progredisce dovrebbe fallire - comportamento di tutte le tattiche nei confronti dei let-in - - tattica unfold su rel a let-in bound variables: c'e' ancora un bug - aperto: "unfold x in H:..." la x passata alla unfold vive nel contesto - del goal e non in quello del pattern. Pertanto invece di cercare di - fare unfolding di x viene fatto unfolding di altro. - Soluzione: la funzione ProofEngineHelpers.select deve tornare una - funzione per rilocare i termini nel contesto giusto. - Esempio: - theorem t: let uno \def S O in uno + uno = S uno \to uno=uno. - intros. unfold uno in H. - NOTA: questo bug e' legato a quello di parsing in presenza di tattiche - con pattern, visto che in tal caso e' l'intero parsing a dover essere - fatto in un contesto differente. Risolvendo quel bug si risolve - automaticamente anche questo. - elim con pattern - - theorem t: True. elim x. ==> BOOM! unificazione di una testa flessibile con + - theorem t: True. elim O. ==> BOOM! unificazione di una testa flessibile con True. - - parsing contestuale (tattiche replace, change e forse altre) - capire dove fare la select per avere i contesti in cui disambiguare gli - altri argomenti. - assiomi (manca sintassi concreta e AST). - Guardare il commento (*CSC: this code is suspect and/or bugged: we try first without reduction @@ -126,6 +113,23 @@ TODO DEMONI E ALTRO DONE +- parsing contestuale (tattiche replace, change e forse altre) + capire dove fare la select per avere i contesti in cui disambiguare gli + altri argomenti. -> Zack, Enrico, CSC +- tattica unfold su rel a let-in bound variables: c'e' ancora un bug + aperto: "unfold x in H:..." la x passata alla unfold vive nel contesto + del goal e non in quello del pattern. Pertanto invece di cercare di + fare unfolding di x viene fatto unfolding di altro. + Soluzione: la funzione ProofEngineHelpers.select deve tornare una + funzione per rilocare i termini nel contesto giusto. + Esempio: + theorem t: let uno \def S O in uno + uno = S uno \to uno=uno. + intros. unfold uno in H. + NOTA: questo bug e' legato a quello di parsing in presenza di tattiche + con pattern, visto che in tal caso e' l'intero parsing a dover essere + fatto in un contesto differente. Risolvendo quel bug si risolve + automaticamente anche questo. + -> Zack, Enrico, CSC - Usare il cicbrowser per fare "Whelp instance": lui riscrive la barra con la notazione alla Coq V7.0 che non riesce piu' a riparsare! -> Zack - implementare inclusione file di configurazione (perche' ora tutti