]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matita.txt
the case Appl Meta vs t was not executed in case t was a Constant,Mutcase,Cofix,Fix...
[helm.git] / helm / matita / matita.txt
index 6b0102d1f37bee74d499ed462ca5e325ea6d444c..d71a5f510dce1deedd0684eaec42708509013c20 100644 (file)
@@ -5,34 +5,20 @@ TODO
     noi generiamo i_rec e i_rect con e senza il commento qui sopra; Coq NON
     genera i_rec e i_rect quando c'e' un argomento ricorsivo.
     (CSC: manca vincolo aggiuntivo non dipendente dalla sorta per il caso in
-    questione) -> CSC
+    questione) -> Gares
   - bug universi e tipi induttivi
   - Set predicativo
     
 
   TATTICHE
-  - tattiche e fallimenti: una tattica che non progredisce dovrebbe fallire,
-    giusto?
+  - 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
@@ -63,8 +49,6 @@ TODO
 
 
   GUI GRAFICA
-  - Usare il cicbrowser per fare "Whelp instance": lui riscrive la barra
-    con la notazione alla Coq V7.0 che non riesce piu' a riparsare!
   - keybinding globali: CTRL-{su,giu,...} devono fungere anche quando altre
     finestre hanno il focus (e.g. cicBrowser). C'e' gia' da qualche parte il
     codice che aggiunge i keybinding a tutte le eventBox, e' da ripristinare
@@ -88,6 +72,10 @@ TODO
   - riattaccare hbugs (brrr...) -> Zack
 
   GUI LOGICA
+  - nuovo pretty-printer testuale: non stampa usando la notazione
+    (e.g. guardare output di matitac)
+  - matitaclean (e famiglia) non cancellano le directory vuote
+    (e per giunta il cicbrowser le mostra :-)
   - codice di inizializzazione di matita, matitac, matitatop replicato e non
     in sync
   - fattorizzare codice fra MatitaEngine e DisambiguatePp (dove, fra l'altro,
@@ -125,6 +113,25 @@ 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
   i demoni scopiazzano venti righe per via del getter embedded :-( -> Zack
 - simplify non debbono zeta-espandere i let-in -> CSC, Gares