Commands¶
- Command Proof¶
Enter proof mode with a unique subgoal corresponding to the previous unproved
lemma
.
- Command Qed¶
Close the current proof, if it’s completed (i.e. has no remaining unclosed goal).
- Command Abort¶
Abort the current proof.
- Command undo natural?¶
undo n
undoes then
(default 1) last sentence(s). Concretely, the tactic restores then
\(^{th}\) previous prover state as the current one.In general
undo
commands are not used in Squirrel scripts but used for Proof-General navigation.
- Command Reset¶
Reset the prover state. This command can be undone with
undo
since it does not clear the prover state history.
- Command include file¶
Attempt to find file
file
.sp, first in the same directory as the current Squirrel file, and then in the theories directory.Example: Including theories/Basic.sp
- include Basic.
If you install squirrel (with
make install
) and not running it from root directory of its sources, the theories directory is located in~/.local/bin
.
- Command set ident = boolnatural¶
Set any squirrel option using its
ident
:Option identifier
Description
Default value
timeout
Timeout for the solver in seconds
10
printTRSEquations
Print equations of the TRS
false
debugConstr
Debug information for the constraint checker
false
debugCompletion
Debug information for the completion checker
false
debugTactics
Debug information for tactics
false
processStrictAliasMode
Strict alias mode for processus
false
showStrengthenedHyp
Show hypothesis after strengthening
false
autoFADup
Automatic FA Dup
true
newInduction
New equivalence induction principle (FIXME)
false
postQuantumSound
Post-quantum soundness
false
checkInclude
Include will check proofs
true
- Command print ident?¶
Show the definition of a given
ident
if it is a lemma, function, name, macro or system.print
withoutidendifier
shows the current system.Example: printing a lemma
- lemma [any] foo : true.
- Goal foo : true
- Proof.
- [goal> Focused goal (1/1): System: any —————————————- true
- admit.
- [goal> lemma foo is proved
- Qed.
- lemma [any] foo : true Exiting proof mode.
- print foo.
- lemma [any] foo : true
- Command search term in [system_idsystem_exp]?¶
Search lemmas containing a given
term
(that can contain holes_
as specified insterm
). Asystem_idsystem_expr
can be specified, otherwise the command searches inany
system.Example: searching axioms with included patterns
- axiom [any] bar1 [’a] : exists (x : ‘a), true.
- axiom [any] bar1 [‘a] : exists (x:’a), true
- axiom [any] bar2 [’a] : exists (x : ‘a -> ‘a), true.
- axiom [any] bar2 [‘a] : exists (x:’a -> ‘a), true
- search exists (x : _), _.
- Search in context system [any]. Search result(s): axiom [any] bar2 [‘a] : exists (x:’a -> ‘a), true axiom [any] bar1 [‘a] : exists (x:’a), true
- search exists (x : _ -> _), _.
- Search in context system [any]. Search result(s): axiom [any] bar2 [‘a] : exists (x:’a -> ‘a), true
- Command hint rewrite ident¶
Add a rewriting rule from the lemma
ident
to the user-defined rewriting database. The lemma should establish a local formula consisting of a universally quantified conditional equality. In other words, it should essentially be of the formforall binders, phi_1 => ... => phi_n => u = v
.The goal will be used to rewrite occurrences of
u
into the corresponding occurrences ofv
, assuming the conditionsphi_1, ..., phi_n
reduce totrue
(using Reduction).Example: add rewriting rule
- axiom [any] and_true_l (b : boolean) : (true && b) = b.
- hint rewrite and_true_l.
- Command prof¶
Print profiling information.