- fixed : CongrArgKindIt is a parameter for the congruence theorem, the parameter occurs in the left and right hand sides. 
- fixedNoParam : CongrArgKindIt is not a parameter for the congruence theorem, the theorem was specialized for this parameter. This only happens if the parameter is a subsingleton/proposition, and other parameters depend on it. 
- eq : CongrArgKindThe lemma contains three parameters for this kind of argument a_i,b_iandeq_i : a_i = b_i.a_iandb_irepresent the left and right hand sides, andeq_iis a proof for their equality.
- cast : CongrArgKindThe congr-simp theorems contains only one parameter for this kind of argument, and congr theorems contains two. They correspond to arguments that are subsingletons/propositions. 
- heq : CongrArgKindThe lemma contains three parameters for this kind of argument a_i,b_iandeq_i : a_i ≍ b_i.a_iandb_irepresent the left and right hand sides, andeq_iis a proof for their heterogeneous equality.
- subsingletonInst : CongrArgKindFor congr-simp theorems only. Indicates a decidable instance argument. The lemma contains two arguments [a_i : Decidable ...] [b_i : Decidable ...] 
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
Equations
- Lean.Meta.instBEqCongrArgKind.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
- type : Expr
- proof : Expr
- argKinds : Array CongrArgKind
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Meta.mkHCongr f = do let __do_lift ← Lean.Meta.getFunInfo f Lean.Meta.mkHCongrWithArity f __do_lift.getArity
Instances For
Computes CongrArgKinds for a simp congruence theorem.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Variant of getCongrSimpKinds for rewriting just argument 0.
If it is possible to rewrite, the 0th CongrArgKind is .eq,
and otherwise it is .fixed. This is used for the arg conv tactic.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Creates a congruence theorem that is useful for the simplifier and congr tactic.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Create a congruence theorem for f. The theorem is used in the simplifier.
If subsingletonInstImplicitRhs = true, the rhs corresponding to [Decidable p] parameters
is marked as instance implicit. It forces the simplifier to compute the new instance when applying
the congruence theorem.
For the congr tactic we set it to false.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Meta.hcongrThmSuffixBase = "hcongr"
Instances For
Instances For
Returns true if s is of the form hcongr_<idx>
Equations
Instances For
Equations
- Lean.Meta.congrSimpSuffix = "congr_simp"
Instances For
Similar to mkHCongrWithArity, but uses reserved names to ensure we don't keep creating the
same congruence theorem over and over again.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Similar to mkCongrSimp?, but uses reserved names to ensure we don't keep creating the
same congruence theorem over and over again.
Equations
- One or more equations did not get rendered due to their size.