Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
- Duper.getPrintPortfolioInstanceM = do let opts ← Lean.getOptions pure (Duper.getPrintPortfolioInstance opts)
Instances For
Equations
- Duper.getThrowPortfolioErrorsM = do let opts ← Lean.getOptions pure (Duper.getThrowPortfolioErrors opts)
Instances For
Equations
- Duper.getCollectDataTypesM = do let opts ← Lean.getOptions pure (Duper.getCollectDataTypes opts)
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Duper.bool_litTrue = Lean.ParserDescr.node `Duper.bool_litTrue 1024 (Lean.ParserDescr.nonReservedSymbol "true" false)
Instances For
Equations
- Duper.bool_litFalse = Lean.ParserDescr.node `Duper.bool_litFalse 1024 (Lean.ParserDescr.nonReservedSymbol "false" false)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Duper.preprocessing_optionFull = Lean.ParserDescr.node `Duper.preprocessing_optionFull 1024 (Lean.ParserDescr.nonReservedSymbol "full" false)
Instances For
Equations
- Duper.preprocessing_optionMonomorphization = Lean.ParserDescr.node `Duper.preprocessing_optionMonomorphization 1024 (Lean.ParserDescr.nonReservedSymbol "monomorphization" false)
Instances For
Equations
- Duper.preprocessing_optionNo_preprocessing = Lean.ParserDescr.node `Duper.preprocessing_optionNo_preprocessing 1024 (Lean.ParserDescr.nonReservedSymbol "no_preprocessing" false)
Instances For
- FullPreprocessing : PreprocessingOption
- Monomorphization : PreprocessingOption
- NoPreprocessing : PreprocessingOption
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Duper.duperStar = Lean.ParserDescr.nodeWithAntiquot "duperStar" `Duper.duperStar (Lean.ParserDescr.symbol "*")
Instances For
duper [facts] {options}
is a terminal tactic that uses an automatic theorem prover to attempt to solve the current main goal.
The facts
supplied to duper
are separated by commas and can include:
- Hypotheses (of type
Prop
) from the local context - External lemmas
- The symbol
*
to indicate thatduper
should consider all proofs in the current local context
Duper can also optionally receive a second list of facts (extra facts) that are to be added but not included in the set of support.
By default, duper
will call multiple instances of itself with different option configurations in an attempt to find the
option configuration that is best suited for the current problem. This behavior can be changed by including the option
portfolioMode := false
in the comma separated options list. Running duper
with portfolioMode
enabled means that
each instance of duper
will be given less time to run. To increase the amount of time allocated to duper
, use
set_option maxHeartbeats <num>
(setting <num>
to 3 times the default value will ensure that each duper
instance is
given as much time as it would receive if run with portfolioMode
disabled).
The variant duper?
will call duper
and, if a proof is found, return a Try this
suggestion that will call duper
using just the option configuration that succeeded in finding a proof. If the suggestion is used, then on all subsequent
compilations, only the version of duper
that succeeded will be called.
Additional options that can be included in the options list include:
portfolioInstance
: Can be set to a natural number from 0 to 24 and corresponds to an exact set of options by whichduper
can be called.preprocessing
: Can be set tofull
,monomorphization
, orno_preprocessing
.inhabitationReasoning
: Can be set totrue
orfalse
.includeExpensiveRules
: Can be set totrue
orfalse
.
For a more complete referenceon duper
(including fuller descriptions of the various options), see
its README
Equations
- One or more equations did not get rendered due to their size.
Instances For
duper [facts] {options}
is a terminal tactic that uses an automatic theorem prover to attempt to solve the current main goal.
The facts
supplied to duper
are separated by commas and can include:
- Hypotheses (of type
Prop
) from the local context - External lemmas
- The symbol
*
to indicate thatduper
should consider all proofs in the current local context
Duper can also optionally receive a second list of facts (extra facts) that are to be added but not included in the set of support.
By default, duper
will call multiple instances of itself with different option configurations in an attempt to find the
option configuration that is best suited for the current problem. This behavior can be changed by including the option
portfolioMode := false
in the comma separated options list. Running duper
with portfolioMode
enabled means that
each instance of duper
will be given less time to run. To increase the amount of time allocated to duper
, use
set_option maxHeartbeats <num>
(setting <num>
to 3 times the default value will ensure that each duper
instance is
given as much time as it would receive if run with portfolioMode
disabled).
The variant duper?
will call duper
and, if a proof is found, return a Try this
suggestion that will call duper
using just the option configuration that succeeded in finding a proof. If the suggestion is used, then on all subsequent
compilations, only the version of duper
that succeeded will be called.
Additional options that can be included in the options list include:
portfolioInstance
: Can be set to a natural number from 0 to 24 and corresponds to an exact set of options by whichduper
can be called.preprocessing
: Can be set tofull
,monomorphization
, orno_preprocessing
.inhabitationReasoning
: Can be set totrue
orfalse
.includeExpensiveRules
: Can be set totrue
orfalse
.
For a more complete referenceon duper
(including fuller descriptions of the various options), see
its README
Equations
- One or more equations did not get rendered due to their size.
Instances For
If n
is a Nat that corresponds to one of Duper's portfolio instances, then portfolioInstanceToConfigOptionStx n
returns the
syntax object corresponding to portfolioInstance := n
. This is necessary so that duper?
can produce its suggestion.
Instances For
If n
is a Nat that corresponds to one of Duper's selection functions, then selFunctionNumToConfigOptionStx n
returns the
syntax object corresponding to selFunction := n
. This is necessary so that duper?
can produce its suggestion.
Equations
- One or more equations did not get rendered due to their size.
- Duper.selFunctionNumToConfigOptionStx n = Lean.throwError (Lean.toMessageData "Invalid selFunction option")
Instances For
Constructs and suggests the syntax for a duper call, for use with duper?
If a portfolioInstance other than 0 is specified, then
the returned tactic will only specify that instance (since it is all that is necessary). If the portfolioInstance specified is 0, then
the returned tactic will use all of the optional arguments to construct the suggested syntax.
Equations
- One or more equations did not get rendered due to their size.
Instances For
We save the CoreM
state. This is because we will add a constant skolemSorry
to the environment to support skolem constants with
universe levels. We want to erase this constant after the saturation procedure ends
Equations
- One or more equations did not get rendered due to their size.
Instances For
skSorryAx
has essentially the same type as sorryAx
, but does not trigger a sorry
warning in Lean.addAndCompile
. We want
to deliberately bypass the warning in Lean.addAndCompile
because the skolemSorry
constant that Duper adds to the environment
is only temporary and will be removed from the actual proof that should be checked by the kernel.
Add the constant skolemSorry
to the environment and add suitable postfix to avoid name conflict.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Entry point for calling a single instance of duper using the options determined by (← getOptions).
Formulas should consist of lemmas supplied by the user (to see how to obtain formulas from duper's input syntax, see collectAssumptions
).
InstanceMaxHeartbeats should indicate how many heartbeats duper should run for before timing out (if instanceMaxHeartbeats is set to 0,
then duper will run until it is timed out by the Core maxHeartbeats
option). If Duper succeeds in deriving a contradiction and constructing
a proof for it, then runDuper
returns that proof as an expression. Otherwise, Duper will throw an error.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Converts formulas/lemmas from the format used by Duper to the format used by Auto. Duper uses Auto's deriv DTr to keep
track of isFromGoal
and optional syntax information through the monomorphization procedure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Like formulasToAutoLemmas
, but the stxOption
is a string instead of a term.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Determines whether lem
's deriv info indicates that lem
is part of the goal and should be included in the set of support. Note that derivInfo
only works on lemmas generated from formulasToAutoLemmas
or formulasWithStringsToAutoLemmas
. In cases where the lemma was not generated from
formulasToAutoLemmas
, derivInfo
defaults to indicating that both isFromGoal
and includeInSetOfSupport
are true
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Converts formulas/lemmas from the format used by Auto to the format used by Duper.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given formulas
, instanceMaxHeartbeats
, and an instance of Duper inst
, runs inst
with monomorphization preprocessing.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given formulas
, instanceMaxHeartbeats
, and an instance of Duper
inst, runs
inst` with all of Auto's preprocessing
(monomorphization, skolemization, definition unfolding, exhaustive function extensionality rewrites, and BitVec simplicfication).
Equations
- One or more equations did not get rendered due to their size.
Instances For
mkDuperInstance
is called by each runDuperInstanceN
function to construct the desired Duper instance. Additionally,
if a user invokes portfolio instance 0 (which is the special instance reserved for allowing the user to manually construct
an instance with their own configuration options), then this function will be called directly.
Equations
- One or more equations did not get rendered due to their size.
Instances For
First instance called by portfolio mode. Has the following options:
- preprocessing = full
- inhabitationReasoning = false
- selFunction = 4 (which corresponds to Zipperposition's default selection function)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 1 except inhabitation reasoning is enabled. Has the following options:
- preprocessing = full
- inhabitationReasoning = true
- selFunction = 4 (which corresponds to Zipperposition's default selection function)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Second instance called by portfolio mode. Has the following options:
- preprocessing = full
- inhabitationReasoning = false
- selFunction = 11 (which corresponds to E's SelectMaxLComplexAvoidPosPred and Zipperposition's e_sel)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 3 except inhabitation reasoning is enabled. Has the following options:
- preprocessing = full
- inhabitationReasoning = true
- selFunction = 11 (which corresponds to E's SelectMaxLComplexAvoidPosPred and Zipperposition's e_sel)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Third instance called by portfolio mode. Has the following options:
- preprocessing = full
- inhabitationReasoning = false
- selFunction = 13 (which corresponds to E's SelectComplexG and Zipperposition's e_sel3)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 5 except inhabitation reasoning is enabled. Has the following options:
- preprocessing = full
- inhabitationReasoning = true
- selFunction = 13 (which corresponds to E's SelectComplexG and Zipperposition's e_sel3)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Fourth instance called by portfolio mode. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = true
- selFunction = 2 (NoSelection)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 7 except inhabitation reasoning is disabled. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = false
- selFunction = 2 (NoSelection)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 1 except preprocessing is disabled. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = false
- selFunction = 4 (which corresponds to Zipperposition's default selection function)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 2 except preprocessing is disabled. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = true
- selFunction = 4 (which corresponds to Zipperposition's default selection function)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 3 except preprocessing is disabled. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = false
- selFunction = 11 (which corresponds to E's SelectMaxLComplexAvoidPosPred and Zipperposition's e_sel)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 4 except preprocessing is disabled. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = true
- selFunction = 11 (which corresponds to E's SelectMaxLComplexAvoidPosPred and Zipperposition's e_sel)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 5 except preprocessing is disabled. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = false
- selFunction = 13 (which corresponds to E's SelectComplexG and Zipperposition's e_sel3)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 6 except preprocessing is disabled. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = true
- selFunction = 13 (which corresponds to E's SelectComplexG and Zipperposition's e_sel3)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 7 except preprocessing is enabled. Has the following options:
- preprocessing = full
- inhabitationReasoning = true
- selFunction = 2 (NoSelection)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 8 except preprocessing is enabled. Has the following options:
- preprocessing = full
- inhabitationReasoning = false
- selFunction = 2 (NoSelection)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 1 except preprocessing is set to monomorphization only. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = false
- selFunction = 4 (which corresponds to Zipperposition's default selection function)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 2 except preprocessing is set to monomorphization only. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = true
- selFunction = 4 (which corresponds to Zipperposition's default selection function)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 3 except preprocessing is set to monomorphization only. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = false
- selFunction = 11 (which corresponds to E's SelectMaxLComplexAvoidPosPred and Zipperposition's e_sel)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 4 except preprocessing is set to monomorphization only. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = true
- selFunction = 11 (which corresponds to E's SelectMaxLComplexAvoidPosPred and Zipperposition's e_sel)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 5 except preprocessing is set to monomorphization only. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = false
- selFunction = 13 (which corresponds to E's SelectComplexG and Zipperposition's e_sel3)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 6 except preprocessing is set to monomorphization only. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = true
- selFunction = 13 (which corresponds to E's SelectComplexG and Zipperposition's e_sel3)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 7 except preprocessing is set to monomorphization only. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = true
- selFunction = 2 (NoSelection)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 8 except preprocessing is set to monomorphization only. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = false
- selFunction = 2 (NoSelection)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 1 except includeExpensiveRules is set to true. Has the following options:
- preprocessing = full
- inhabitationReasoning = false
- selFunction = 4 (which corresponds to Zipperposition's default selection function)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 2 except includeExpensiveRules is set to true. Has the following options:
- preprocessing = full
- inhabitationReasoning = true
- selFunction = 4 (which corresponds to Zipperposition's default selection function)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 3 except includeExpensiveRules is set to false. Has the following options:
- preprocessing = full
- inhabitationReasoning = false
- selFunction = 11 (which corresponds to E's SelectMaxLComplexAvoidPosPred and Zipperposition's e_sel)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 4 except includeExpensiveRules is set to false. Has the following options:
- preprocessing = full
- inhabitationReasoning = true
- selFunction = 11 (which corresponds to E's SelectMaxLComplexAvoidPosPred and Zipperposition's e_sel)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 5 except includeExpensiveRules is set to true. Has the following options:
- preprocessing = full
- inhabitationReasoning = false
- selFunction = 13 (which corresponds to E's SelectComplexG and Zipperposition's e_sel3)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 6 except includeExpensiveRules is set to true. Has the following options:
- preprocessing = full
- inhabitationReasoning = true
- selFunction = 13 (which corresponds to E's SelectComplexG and Zipperposition's e_sel3)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 7 except includeExpensiveRules is set to false. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = true
- selFunction = 2 (NoSelection)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 8 except includeExpensiveRules is set to false. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = false
- selFunction = 2 (NoSelection)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 9 except includeExpensiveRules is set to true. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = false
- selFunction = 4 (which corresponds to Zipperposition's default selection function)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 10 except includeExpensiveRules is set to true. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = true
- selFunction = 4 (which corresponds to Zipperposition's default selection function)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 11 except includeExpensiveRules is set to false. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = false
- selFunction = 11 (which corresponds to E's SelectMaxLComplexAvoidPosPred and Zipperposition's e_sel)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 12 except includeExpensiveRules is set to false. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = true
- selFunction = 11 (which corresponds to E's SelectMaxLComplexAvoidPosPred and Zipperposition's e_sel)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 13 except includeExpensiveRules is set to true. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = false
- selFunction = 13 (which corresponds to E's SelectComplexG and Zipperposition's e_sel3)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 14 except includeExpensiveRules is set to true. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = true
- selFunction = 13 (which corresponds to E's SelectComplexG and Zipperposition's e_sel3)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 15 except includeExpensiveRules is set to false. Has the following options:
- preprocessing = full
- inhabitationReasoning = true
- selFunction = 2 (NoSelection)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 16 except includeExpensiveRules is set to false. Has the following options:
- preprocessing = full
- inhabitationReasoning = false
- selFunction = 2 (NoSelection)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 17 except includeExpensiveRules is set to true. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = false
- selFunction = 4 (which corresponds to Zipperposition's default selection function)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 18 except includeExpensiveRules is set to true. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = true
- selFunction = 4 (which corresponds to Zipperposition's default selection function)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 19 except includeExpensiveRules is set to false. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = false
- selFunction = 11 (which corresponds to E's SelectMaxLComplexAvoidPosPred and Zipperposition's e_sel)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 20 except includeExpensiveRules is set to false. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = true
- selFunction = 11 (which corresponds to E's SelectMaxLComplexAvoidPosPred and Zipperposition's e_sel)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 21 except includeExpensiveRules is set to true. Has the following options:
- preprocessing = no_preprocessing
- inhabitationReasoning = false
- selFunction = 13 (which corresponds to E's SelectComplexG and Zipperposition's e_sel3)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 22 except includeExpensiveRules is set to true. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = true
- selFunction = 13 (which corresponds to E's SelectComplexG and Zipperposition's e_sel3)
- includeExpensiveRules = true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 23 except includeExpensiveRules is set to false. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = true
- selFunction = 2 (NoSelection)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Same as duper instance 24 except includeExpensiveRules is set to false. Has the following options:
- preprocessing = monomorphization
- inhabitationReasoning = false
- selFunction = 2 (NoSelection)
- includeExpensiveRules = false
Equations
- One or more equations did not get rendered due to their size.
Instances For
Returns true iff the given duper instance n
has inhabitation reasoning enabled. Returns false iff the given duper instance
n
has inhabitation reasoning disabled. Throws an error if given an invalid duper instance.
Instances For
If the given duper instance n
has inhabitation reasoning disabled and there is another instance m
that is identical
except that it has inhabitation reasoning enabled, then getInstanceWithInhabitationReasoning
returns some m
. Otherwise,
getInstanceWithInhabitationReasoning
returns none
.
Equations
- Duper.getInstanceWithInhabitationReasoning 1 = some (2, Duper.runDuperInstance2)
- Duper.getInstanceWithInhabitationReasoning 3 = some (4, Duper.runDuperInstance4)
- Duper.getInstanceWithInhabitationReasoning 5 = some (6, Duper.runDuperInstance6)
- Duper.getInstanceWithInhabitationReasoning 8 = some (7, Duper.runDuperInstance7)
- Duper.getInstanceWithInhabitationReasoning 9 = some (10, Duper.runDuperInstance10)
- Duper.getInstanceWithInhabitationReasoning 11 = some (12, Duper.runDuperInstance12)
- Duper.getInstanceWithInhabitationReasoning 13 = some (14, Duper.runDuperInstance14)
- Duper.getInstanceWithInhabitationReasoning 16 = some (15, Duper.runDuperInstance15)
- Duper.getInstanceWithInhabitationReasoning 17 = some (18, Duper.runDuperInstance18)
- Duper.getInstanceWithInhabitationReasoning 19 = some (20, Duper.runDuperInstance20)
- Duper.getInstanceWithInhabitationReasoning 21 = some (22, Duper.runDuperInstance22)
- Duper.getInstanceWithInhabitationReasoning 24 = some (23, Duper.runDuperInstance23)
- Duper.getInstanceWithInhabitationReasoning 25 = some (26, Duper.runDuperInstance26)
- Duper.getInstanceWithInhabitationReasoning 27 = some (28, Duper.runDuperInstance28)
- Duper.getInstanceWithInhabitationReasoning 29 = some (30, Duper.runDuperInstance30)
- Duper.getInstanceWithInhabitationReasoning 32 = some (31, Duper.runDuperInstance31)
- Duper.getInstanceWithInhabitationReasoning 33 = some (34, Duper.runDuperInstance34)
- Duper.getInstanceWithInhabitationReasoning 35 = some (36, Duper.runDuperInstance36)
- Duper.getInstanceWithInhabitationReasoning 37 = some (38, Duper.runDuperInstance38)
- Duper.getInstanceWithInhabitationReasoning 40 = some (39, Duper.runDuperInstance39)
- Duper.getInstanceWithInhabitationReasoning 41 = some (42, Duper.runDuperInstance42)
- Duper.getInstanceWithInhabitationReasoning 43 = some (44, Duper.runDuperInstance44)
- Duper.getInstanceWithInhabitationReasoning 45 = some (46, Duper.runDuperInstance46)
- Duper.getInstanceWithInhabitationReasoning 48 = some (47, Duper.runDuperInstance47)
- Duper.getInstanceWithInhabitationReasoning n = none
Instances For
If the given duper instance n
has inhabitation reasoning enabled and there is another instance m
that is identical
except that it has inhabitation reasoning disabled, then getInstanceWithoutInhabitationReasoning
returns some m
. Otherwise,
getInstanceWithoutInhabitationReasoning
returns none
.
Equations
- Duper.getInstanceWithoutInhabitationReasoning 2 = some (1, Duper.runDuperInstance1)
- Duper.getInstanceWithoutInhabitationReasoning 4 = some (3, Duper.runDuperInstance3)
- Duper.getInstanceWithoutInhabitationReasoning 6 = some (5, Duper.runDuperInstance5)
- Duper.getInstanceWithoutInhabitationReasoning 7 = some (8, Duper.runDuperInstance8)
- Duper.getInstanceWithoutInhabitationReasoning 10 = some (9, Duper.runDuperInstance9)
- Duper.getInstanceWithoutInhabitationReasoning 12 = some (11, Duper.runDuperInstance11)
- Duper.getInstanceWithoutInhabitationReasoning 14 = some (13, Duper.runDuperInstance13)
- Duper.getInstanceWithoutInhabitationReasoning 15 = some (16, Duper.runDuperInstance16)
- Duper.getInstanceWithoutInhabitationReasoning 18 = some (17, Duper.runDuperInstance17)
- Duper.getInstanceWithoutInhabitationReasoning 20 = some (19, Duper.runDuperInstance19)
- Duper.getInstanceWithoutInhabitationReasoning 22 = some (21, Duper.runDuperInstance21)
- Duper.getInstanceWithoutInhabitationReasoning 23 = some (24, Duper.runDuperInstance24)
- Duper.getInstanceWithoutInhabitationReasoning 26 = some (25, Duper.runDuperInstance25)
- Duper.getInstanceWithoutInhabitationReasoning 28 = some (27, Duper.runDuperInstance27)
- Duper.getInstanceWithoutInhabitationReasoning 30 = some (29, Duper.runDuperInstance29)
- Duper.getInstanceWithoutInhabitationReasoning 31 = some (32, Duper.runDuperInstance32)
- Duper.getInstanceWithoutInhabitationReasoning 34 = some (33, Duper.runDuperInstance33)
- Duper.getInstanceWithoutInhabitationReasoning 36 = some (35, Duper.runDuperInstance35)
- Duper.getInstanceWithoutInhabitationReasoning 38 = some (37, Duper.runDuperInstance37)
- Duper.getInstanceWithoutInhabitationReasoning 39 = some (40, Duper.runDuperInstance40)
- Duper.getInstanceWithoutInhabitationReasoning 42 = some (41, Duper.runDuperInstance41)
- Duper.getInstanceWithoutInhabitationReasoning 44 = some (43, Duper.runDuperInstance43)
- Duper.getInstanceWithoutInhabitationReasoning 46 = some (45, Duper.runDuperInstance45)
- Duper.getInstanceWithoutInhabitationReasoning 47 = some (48, Duper.runDuperInstance48)
- Duper.getInstanceWithoutInhabitationReasoning n = none
Instances For
If the given duper instance n
has includeExpensiveRules set to false and there is another instance m
that is identical
except that it has includeExpensiveRules set to true, then getInstanceWithExpensiveRules
returns some m
. Otherwise,
getInstanceWithExpensiveRules
returns none
.
Equations
- Duper.getInstanceWithExpensiveRules 1 = some (25, Duper.runDuperInstance25)
- Duper.getInstanceWithExpensiveRules 2 = some (26, Duper.runDuperInstance26)
- Duper.getInstanceWithExpensiveRules 5 = some (29, Duper.runDuperInstance29)
- Duper.getInstanceWithExpensiveRules 6 = some (30, Duper.runDuperInstance30)
- Duper.getInstanceWithExpensiveRules 9 = some (33, Duper.runDuperInstance33)
- Duper.getInstanceWithExpensiveRules 10 = some (34, Duper.runDuperInstance34)
- Duper.getInstanceWithExpensiveRules 13 = some (37, Duper.runDuperInstance37)
- Duper.getInstanceWithExpensiveRules 14 = some (38, Duper.runDuperInstance38)
- Duper.getInstanceWithExpensiveRules 17 = some (41, Duper.runDuperInstance41)
- Duper.getInstanceWithExpensiveRules 18 = some (42, Duper.runDuperInstance42)
- Duper.getInstanceWithExpensiveRules 21 = some (45, Duper.runDuperInstance45)
- Duper.getInstanceWithExpensiveRules 22 = some (46, Duper.runDuperInstance46)
- Duper.getInstanceWithExpensiveRules 27 = some (3, Duper.runDuperInstance3)
- Duper.getInstanceWithExpensiveRules 28 = some (4, Duper.runDuperInstance4)
- Duper.getInstanceWithExpensiveRules 31 = some (7, Duper.runDuperInstance7)
- Duper.getInstanceWithExpensiveRules 32 = some (8, Duper.runDuperInstance8)
- Duper.getInstanceWithExpensiveRules 35 = some (11, Duper.runDuperInstance11)
- Duper.getInstanceWithExpensiveRules 36 = some (12, Duper.runDuperInstance12)
- Duper.getInstanceWithExpensiveRules 39 = some (15, Duper.runDuperInstance15)
- Duper.getInstanceWithExpensiveRules 40 = some (16, Duper.runDuperInstance16)
- Duper.getInstanceWithExpensiveRules 43 = some (19, Duper.runDuperInstance19)
- Duper.getInstanceWithExpensiveRules 44 = some (20, Duper.runDuperInstance20)
- Duper.getInstanceWithExpensiveRules 47 = some (23, Duper.runDuperInstance23)
- Duper.getInstanceWithExpensiveRules 48 = some (24, Duper.runDuperInstance24)
- Duper.getInstanceWithExpensiveRules n = none
Instances For
If the given duper instance n
has includeExpensiveRules set to true and there is another instance m
that is identical
except that it has includeExpensiveRules set to false, then getInstanceWithoutExpensiveRules
returns some m
. Otherwise,
getInstanceWithoutExpensiveRules
returns none
.
Equations
- Duper.getInstanceWithoutExpensiveRules 25 = some (1, Duper.runDuperInstance1)
- Duper.getInstanceWithoutExpensiveRules 26 = some (2, Duper.runDuperInstance2)
- Duper.getInstanceWithoutExpensiveRules 29 = some (5, Duper.runDuperInstance5)
- Duper.getInstanceWithoutExpensiveRules 30 = some (6, Duper.runDuperInstance6)
- Duper.getInstanceWithoutExpensiveRules 33 = some (9, Duper.runDuperInstance9)
- Duper.getInstanceWithoutExpensiveRules 34 = some (10, Duper.runDuperInstance10)
- Duper.getInstanceWithoutExpensiveRules 37 = some (13, Duper.runDuperInstance13)
- Duper.getInstanceWithoutExpensiveRules 38 = some (14, Duper.runDuperInstance14)
- Duper.getInstanceWithoutExpensiveRules 41 = some (17, Duper.runDuperInstance17)
- Duper.getInstanceWithoutExpensiveRules 42 = some (18, Duper.runDuperInstance18)
- Duper.getInstanceWithoutExpensiveRules 45 = some (21, Duper.runDuperInstance21)
- Duper.getInstanceWithoutExpensiveRules 46 = some (22, Duper.runDuperInstance22)
- Duper.getInstanceWithoutExpensiveRules 3 = some (27, Duper.runDuperInstance27)
- Duper.getInstanceWithoutExpensiveRules 4 = some (28, Duper.runDuperInstance28)
- Duper.getInstanceWithoutExpensiveRules 7 = some (31, Duper.runDuperInstance31)
- Duper.getInstanceWithoutExpensiveRules 8 = some (32, Duper.runDuperInstance32)
- Duper.getInstanceWithoutExpensiveRules 11 = some (35, Duper.runDuperInstance35)
- Duper.getInstanceWithoutExpensiveRules 12 = some (36, Duper.runDuperInstance36)
- Duper.getInstanceWithoutExpensiveRules 15 = some (39, Duper.runDuperInstance39)
- Duper.getInstanceWithoutExpensiveRules 16 = some (40, Duper.runDuperInstance40)
- Duper.getInstanceWithoutExpensiveRules 19 = some (43, Duper.runDuperInstance43)
- Duper.getInstanceWithoutExpensiveRules 20 = some (44, Duper.runDuperInstance44)
- Duper.getInstanceWithoutExpensiveRules 23 = some (47, Duper.runDuperInstance47)
- Duper.getInstanceWithoutExpensiveRules 24 = some (48, Duper.runDuperInstance48)
- Duper.getInstanceWithoutExpensiveRules n = none
Instances For
Implements duper calls when portfolio mode is enabled. If duperStxInfo
is not none and runDuperPortfolioMode
succeeds in deriving
a contradiction, then Std.Tactic.TryThis.addSuggestion
will be used to give the user a more specific invocation of duper that can
reproduce the proof (without having to run duper in portfolio mode). As with the other runDuper
functions, runDuperPortfolioMode
ultimately returns a proof if successful and throws an error if unsuccessful.
Equations
- One or more equations did not get rendered due to their size.