]> matita.cs.unibo.it Git - helm.git/commit
Defs in context may now have an optional type (when unknown).
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 5 Sep 2003 10:29:13 +0000 (10:29 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 5 Sep 2003 10:29:13 +0000 (10:29 +0000)
commit265cf771fbfe217b5f274b999fc3ad887683a09a
tree2b791c77f4b2475df929c7b0bb6889905f6bfbac
parentedf601b6b8eb5b28a5292d0660a3b54b5680e580
Defs in context may now have an optional type (when unknown).

During type-checking, LetIn are pushed in the context as Defs with a known
type. When a Rel pointing to a Def in the context is found, the already
computed type (if present) is used instead of re-typing the body of the
LetIn. As a result, we get a (possibly exponential) decrease in the complexity
of the typing algorithm.
18 files changed:
helm/ocaml/cic/cic.ml
helm/ocaml/cic/deannotate.ml
helm/ocaml/cic_omdoc/cic2acic.ml
helm/ocaml/cic_omdoc/eta_fixing.ml
helm/ocaml/cic_proof_checking/cicPp.ml
helm/ocaml/cic_proof_checking/cicReductionMachine.ml
helm/ocaml/cic_proof_checking/cicReductionNaif.ml
helm/ocaml/cic_proof_checking/cicTypeChecker.ml
helm/ocaml/cic_transformations/sequentPp.ml
helm/ocaml/cic_unification/cicRefine.ml
helm/ocaml/cic_unification/cicUnification.ml
helm/ocaml/tactics/fourierR.ml
helm/ocaml/tactics/primitiveTactics.ml
helm/ocaml/tactics/proofEngineHelpers.ml
helm/ocaml/tactics/proofEngineReduction.ml
helm/ocaml/tactics/proofEngineStructuralRules.ml
helm/ocaml/tactics/reductionTactics.ml
helm/ocaml/tactics/variousTactics.ml