Normalisation Rules #
Equations
- Aesop.instInhabitedNormRuleInfo = { default := { penalty := default } }
Equations
- Aesop.instOrdNormRuleInfo = { compare := fun i j => compare i.penalty j.penalty }
Equations
- Aesop.instLTNormRuleInfo = ltOfOrd
Equations
- Aesop.instLENormRuleInfo = leOfOrd
@[inline, reducible]
Equations
Instances For
Equations
Instances For
Safe and Almost Safe Rules #
Equations
- Aesop.instInhabitedSafety = { default := Aesop.Safety.safe }
Equations
- Aesop.Safety.instToStringSafety = { toString := fun x => match x with | Aesop.Safety.safe => "safe" | Aesop.Safety.almostSafe => "almostSafe" }
Equations
- Aesop.instInhabitedSafeRuleInfo = { default := { penalty := default, safety := default } }
Equations
- Aesop.instOrdSafeRuleInfo = { compare := fun i j => 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 => 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
- Aesop.RegularRule.instToFormatRegularRule = { format := fun x => match x with | Aesop.RegularRule.safe r => Std.format r | Aesop.RegularRule.unsafe r => Std.format r }
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 Aesop.SafeRuleInfo r | Aesop.RegularRule.unsafe r => f Aesop.UnsafeRuleInfo r
Instances For
Equations
- Aesop.RegularRule.name r = Aesop.RegularRule.withRule (fun {α} x => x.name) r
Instances For
Equations
- Aesop.RegularRule.indexingMode r = Aesop.RegularRule.withRule (fun {α} x => x.indexingMode) r
Instances For
Equations
- Aesop.RegularRule.tac r = Aesop.RegularRule.withRule (fun {α} x => x.tac) r
Instances For
Normalisation Simp Rules #
- 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 => r.name == s.name }
Equations
- Aesop.NormSimpRule.instHashableNormSimpRule = { hash := fun r => hash r.name }
Equations
- Aesop.instInhabitedLocalNormSimpRule = { default := { fvarUserName := default } }
Equations
- Aesop.LocalNormSimpRule.instBEqNormSimpRule = { beq := fun r s => r.name == s.name }
Equations
- Aesop.LocalNormSimpRule.instHashableNormSimpRule = { hash := fun r => hash r.name }
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 => r.decl == s.decl }
Equations
- Aesop.UnfoldRule.instHashableUnfoldRule = { hash := fun r => hash r.decl }
Equations
- One or more equations did not get rendered due to their size.