pub enum LfscDecl {
DeclareSort {
name: String,
arity: u32,
},
DeclareConst {
name: String,
sort: LfscSort,
},
Define {
name: String,
sort: LfscSort,
value: LfscTerm,
},
DeclareRule {
name: String,
params: Vec<(String, LfscSort)>,
conclusion: LfscTerm,
},
SideCondition {
name: String,
params: Vec<(String, LfscSort)>,
return_sort: LfscSort,
body: String,
},
Check(LfscTerm),
}Expand description
An LFSC declaration
Variants§
DeclareSort
Declare a new sort
DeclareConst
Declare a new constant/function
Define
Define a term
DeclareRule
Declare a proof rule
SideCondition
Side condition program
Check(LfscTerm)
Proof step (check)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LfscDecl
impl RefUnwindSafe for LfscDecl
impl Send for LfscDecl
impl Sync for LfscDecl
impl Unpin for LfscDecl
impl UnsafeUnpin for LfscDecl
impl UnwindSafe for LfscDecl
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more