Normalisation Rules #
Equations
- Aesop.instInhabitedNormRuleInfo = { default := { penalty := default } }
Equations
- Aesop.instOrdNormRuleInfo = { compare := fun (i j : Aesop.NormRuleInfo) => compare i.penalty j.penalty }
Equations
- Aesop.instLTNormRuleInfo = ltOfOrd
Equations
- Aesop.instLENormRuleInfo = leOfOrd
@[inline, reducible]
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
Instances For
Safe and Almost Safe Rules #
Equations
- Aesop.instInhabitedSafety = { default := Aesop.Safety.safe }
Equations
- One or more equations did not get rendered due to their size.
Equations
- Aesop.instInhabitedSafeRuleInfo = { default := { penalty := default, safety := default } }
Equations
- Aesop.instOrdSafeRuleInfo = { compare := fun (i j : Aesop.SafeRuleInfo) => compare i.penalty j.penalty }
Equations
- Aesop.instLTSafeRuleInfo = ltOfOrd
Equations
- Aesop.instLESafeRuleInfo = leOfOrd
@[inline, reducible]
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Unsafe Rules #
Equations
- Aesop.instInhabitedUnsafeRuleInfo = { default := { successProbability := default } }
Equations
- Aesop.instOrdUnsafeRuleInfo = { compare := fun (i j : Aesop.UnsafeRuleInfo) => compare j.successProbability i.successProbability }
Equations
- Aesop.instLTUnsafeRuleInfo = ltOfOrd
Equations
- Aesop.instLEUnsafeRuleInfo = leOfOrd
@[inline, reducible]
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Regular Rules #
- safe: Aesop.SafeRule → Aesop.RegularRule
- unsafe: Aesop.UnsafeRule → Aesop.RegularRule
Instances For
Equations
- Aesop.instInhabitedRegularRule = { default := Aesop.RegularRule.safe default }
Equations
- Aesop.instBEqRegularRule = { beq := Aesop.beqRegularRule✝ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- Aesop.RegularRule.successProbability x = match x with | Aesop.RegularRule.safe r => Aesop.Percent.hundred | Aesop.RegularRule.unsafe r => r.extra.successProbability
Instances For
Equations
- Aesop.RegularRule.isSafe x = match x with | Aesop.RegularRule.safe r => true | Aesop.RegularRule.unsafe r => false
Instances For
Equations
- Aesop.RegularRule.isUnsafe x = match x with | Aesop.RegularRule.safe r => false | Aesop.RegularRule.unsafe r => true
Instances For
@[inline]
Equations
- Aesop.RegularRule.withRule f x = match x with | Aesop.RegularRule.safe r => f r | Aesop.RegularRule.unsafe r => f r
Instances For
Equations
- Aesop.RegularRule.name r = Aesop.RegularRule.withRule (fun {α : Type} (x : Aesop.Rule α) => x.name) r
Instances For
Equations
- Aesop.RegularRule.indexingMode r = Aesop.RegularRule.withRule (fun {α : Type} (x : Aesop.Rule α) => x.indexingMode) r
Instances For
Equations
- Aesop.RegularRule.tac r = Aesop.RegularRule.withRule (fun {α : Type} (x : Aesop.Rule α) => x.tac) r
Instances For
Normalisation Simp Rules #
A global rule for the norm simplifier. Each SimpEntry
represents a member
of the simp set, e.g. a declaration whose type is an equality or a smart
unfolding theorem for a declaration.
- name : Aesop.RuleName
- entries : Array Lean.Meta.SimpEntry
Instances For
Equations
- Aesop.instInhabitedNormSimpRule = { default := { name := default, entries := default } }
Equations
- Aesop.NormSimpRule.instBEqNormSimpRule = { beq := fun (r s : Aesop.NormSimpRule) => r.name == s.name }
Equations
- Aesop.NormSimpRule.instHashableNormSimpRule = { hash := fun (r : Aesop.NormSimpRule) => hash r.name }
A local rule for the norm simplifier.
Instances For
Equations
- Aesop.instInhabitedLocalNormSimpRule = { default := { id := default, simpTheorem := default } }
Equations
- Aesop.LocalNormSimpRule.instBEqLocalNormSimpRule = { beq := fun (r₁ r₂ : Aesop.LocalNormSimpRule) => r₁.id == r₂.id }
Equations
- Aesop.LocalNormSimpRule.instHashableLocalNormSimpRule = { hash := fun (r : Aesop.LocalNormSimpRule) => hash r.id }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Aesop.instInhabitedUnfoldRule = { default := { decl := default, unfoldThm? := default } }
Equations
- Aesop.UnfoldRule.instBEqUnfoldRule = { beq := fun (r s : Aesop.UnfoldRule) => r.decl == s.decl }
Equations
- Aesop.UnfoldRule.instHashableUnfoldRule = { hash := fun (r : Aesop.UnfoldRule) => hash r.decl }
Equations
- One or more equations did not get rendered due to their size.