pub struct CommittedLemma {
pub name: String,
pub text: String,
pub embed: bool,
}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).
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
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for CommittedLemma
impl RefUnwindSafe for CommittedLemma
impl Send for CommittedLemma
impl Sync for CommittedLemma
impl Unpin for CommittedLemma
impl UnsafeUnpin for CommittedLemma
impl UnwindSafe for CommittedLemma
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more