pub enum LeanProofTerm {
Var(String),
App {
function: Box<LeanProofTerm>,
args: Vec<LeanProofTerm>,
},
Lambda {
params: Vec<(String, LeanType)>,
body: Box<LeanProofTerm>,
},
Tactic(LeanTactic),
Have {
name: String,
ty: Option<LeanType>,
proof: Box<LeanProofTerm>,
body: Box<LeanProofTerm>,
},
}Expand description
A Lean 4 proof term.
Variants§
Var(String)
Variable reference
App
Function application
Lambda
Lambda abstraction
Tactic(LeanTactic)
Tactic proof
Have
Have statement
Implementations§
Trait Implementations§
Source§impl Clone for LeanProofTerm
impl Clone for LeanProofTerm
Source§fn clone(&self) -> LeanProofTerm
fn clone(&self) -> LeanProofTerm
Returns a duplicate of the value. Read more
1.0.0 · 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 LeanProofTerm
impl RefUnwindSafe for LeanProofTerm
impl Send for LeanProofTerm
impl Sync for LeanProofTerm
impl Unpin for LeanProofTerm
impl UnsafeUnpin for LeanProofTerm
impl UnwindSafe for LeanProofTerm
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