-
Notifications
You must be signed in to change notification settings - Fork 233
Debugging flags
Guido Martínez edited this page Feb 10, 2023
·
6 revisions
See Debugging FStar for explanation.
Updated Oct 2020. See also issue #2089.
-
1346
: unification within tactics (do_unify
) -
380
: logical simplification in the normalizer -
bind
: binding of effectful computations in typechecker -
CheckedFiles
: loading and writing of .checked files; does not need a matching--debug
-
Coercions
: insertion of type-directed coercions in typechecker -
Dep
: dependency analysis; does not need a matching--debug
-
ED
: typechecking of effect definitions -
Exports
: something about internal letbindings? -
Extraction
: extraction pipeline, including detailed info on the translation of terms into the backend language -
ExtractionReify
: reification of effects on extraction -
ExtractNorm
: normalization of top-level letbindings before extraction -
FastImplicits
: fast implicit typechecking feature -
Gen
: generalization -
GenUniverses
: universe generalization -
Imp
: prints implicits on proofstate dumps in tactics (remove?) -
ImplicitTrace
: prints messages every time an implicit is created during typechecking or unification -
LayeredEffects
,LayeredEffectsApp
,LayeredEffectsEqns
,LayeredEffectsTc
: layered effects -
LogTypes
: prints the types of top-levels after checking them -
NBE
,NBETop
: debugging of NBE normalizer -
Norm
: normalization, prints full trace of abstract machine, very verbose! See following ones -
NormCfg
: when in addition toNorm
, dumps the full machine's cfg on every step (even more verbose!) -
NormDelayed
: prints a message when the normalizer reaches aTm_delayed
node (remove? is this useful?) -
NormRebuild
: likeNorm
, but for the rebuild phase (join withNorm
?) -
NormTop
: prints a message on the entry and exit of every normalization call, but no steps; useful to find slow norm calls -
Normalize
: affects the behaviour of--dump_module
by normalizing before printing. -
NYC
: not sure -
PartialApp
: partial applications during SMT encoding -
Patterns
: typechecking of patterns -
Positivity
: positivity analysis of inductives -
Primops
: during normalization, print info about primitive operators (e.g.(+)
) -
print_normalized_terms
: in normalizer, print results of norm requests (Pervasives.norm
, etc) -
Range
: print information, including position info, of top-level variables when they appear in a program -
Rel
,RelBench
,RelCheck
,RelDelta
,EQ
,ExplainRel
: unification, see code for more details -
ResolveImplicitsHook
: triggering and handling of@@resolve_implicits
-
Return
: insertion of returns in WPs -
Simplification
: simplification of guards -
SMTEncoding
: encoding pipeline, including a trace of the translation -
SMTEncodingReify
: encoding of reifiable effects -
SMTQuery
: prints obligations before encoding them, and some information on the querying process itself -
Tac
: high-level messages about tactic execution -
TacFail
: prints a message when a tactic fails internally, even if the failure is handled! -
TacVerbose
: more tactic information, and more information in proofstate dumps -
TCDeclTime
: print the time it takes to check each decl -
Time
: print how long it takes to encode queries -
TwoPhases
: info on 2-phase debugging, including what the elaborated definition looks like -
UF
: elimination (compression) of uvars after typechecking -
Unfolding
: in normalization, print when and why top-level variable names are unfolded to their definitions (or not unfolded), i.e. information about delta steps -
UniverseOf
: prints a message in a given case of theuniverse_of
auxiliary function, likely not useful for users -
univ_norm
: normalization of universe levels -
WPE
: optimization of WPs in normalizer
PS. This can help in obtaining a list: sed -e '/Binary/d' -e 's/.*Options.Other "\(\S*\)".*/\1/' <(git grep "Options.Othe") | sort | uniq