pub struct CommittedLemma {
pub name: String,
pub text: String,
pub embed: bool,
pub provenance: LemmaProvenance,
}Expand description
A lemma available to a law’s proof: its theorem name plus Lean text (statement, and for embedded ones the tactic too). Two provenances flow through the same orientation / loop-exclusion / simp-selection machinery:
- embedded (
embed = true) — a kernel-proved lemma parsed back from a committedDiscoveredLemmas.lean; its full text is written into the generated proof project (re-proved in the samelake build). - reference (
embed = false) — an already-proved EARLIER userverify … lawin the same file (część A): its theorem is already emitted, so only the NAME joins later laws’ simp sets;textcarries just the synthesizedtheorem <name> : <lhs> = <rhs>statement, used for orientation + loop analysis, never written out.
Fields§
§name: String§text: String§embed: boolWrite text verbatim into the proof project (true), or only
reference name in simp sets because it is already emitted (false).
provenance: LemmaProvenanceWhich proposer ORIGINATED this lemma (orthogonal to embed/strength).
Carried so the future Lemma-Calculation path can set it; every current
producer is the discovery enumerator, so this is always
LemmaProvenance::Enumerated for now.
Implementations§
Source§impl CommittedLemma
impl CommittedLemma
Sourcepub fn reference(name: String, text: String) -> Self
pub fn reference(name: String, text: String) -> Self
A reference to an already-emitted theorem (an earlier user law) — name
plus synthesized statement, never written out. text should be a
well-formed theorem <name> : <stmt> := by head so the shared
orientation / loop analysis reads it like any other lemma.
Trait Implementations§
Source§impl Clone for CommittedLemma
impl Clone for CommittedLemma
Source§fn clone(&self) -> CommittedLemma
fn clone(&self) -> CommittedLemma
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more