pub struct MWSynthGoal {
pub pre: String,
pub post: String,
pub output_var: String,
pub subgoals: Vec<MWSynthGoal>,
}Expand description
A Manna–Waldinger synthesis goal: (precondition, postcondition, output variable).
Fields§
§pre: StringThe precondition predicate.
post: StringThe postcondition predicate relating inputs and output.
output_var: StringThe output variable name.
subgoals: Vec<MWSynthGoal>Sub-goals generated by applying a rule.
Implementations§
Source§impl MWSynthGoal
impl MWSynthGoal
Sourcepub fn leaf(
pre: impl Into<String>,
post: impl Into<String>,
output_var: impl Into<String>,
) -> Self
pub fn leaf( pre: impl Into<String>, post: impl Into<String>, output_var: impl Into<String>, ) -> Self
Create a leaf synthesis goal.
use oxilean_std::program_synthesis::MWSynthGoal;
let g = MWSynthGoal::leaf("true", "y = x + 1", "y");
assert!(g.subgoals.is_empty());Sourcepub fn with_subgoals(
pre: impl Into<String>,
post: impl Into<String>,
output_var: impl Into<String>,
subgoals: Vec<MWSynthGoal>,
) -> Self
pub fn with_subgoals( pre: impl Into<String>, post: impl Into<String>, output_var: impl Into<String>, subgoals: Vec<MWSynthGoal>, ) -> Self
Create a goal with sub-goals (internal node).
Trait Implementations§
Source§impl Clone for MWSynthGoal
impl Clone for MWSynthGoal
Source§fn clone(&self) -> MWSynthGoal
fn clone(&self) -> MWSynthGoal
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 moreSource§impl Debug for MWSynthGoal
impl Debug for MWSynthGoal
Source§impl PartialEq for MWSynthGoal
impl PartialEq for MWSynthGoal
impl Eq for MWSynthGoal
impl StructuralPartialEq for MWSynthGoal
Auto Trait Implementations§
impl Freeze for MWSynthGoal
impl RefUnwindSafe for MWSynthGoal
impl Send for MWSynthGoal
impl Sync for MWSynthGoal
impl Unpin for MWSynthGoal
impl UnsafeUnpin for MWSynthGoal
impl UnwindSafe for MWSynthGoal
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