use crate::sketchbook::ids::VarId;
use crate::sketchbook::model::{Essentiality, Monotonicity};
use crate::sketchbook::properties::StatProperty;
use super::DynProperty;
pub fn mk_fol_prop(formula: &str) -> Result<StatProperty, String> {
let name_str = "Generic FOL property";
StatProperty::try_mk_generic(name_str, formula, "")
}
pub fn mk_essentiality_prop(
regulator: &VarId,
target: &VarId,
essentiality: Essentiality,
) -> StatProperty {
let name_str = "Regulation essentiality property";
StatProperty::mk_regulation_essential(
name_str,
Some(regulator.clone()),
Some(target.clone()),
essentiality,
"",
)
}
pub fn mk_monotonicity_prop(
regulator: &VarId,
target: &VarId,
monotonicity: Monotonicity,
) -> StatProperty {
let name_str = "Regulation monotonicity property";
StatProperty::mk_regulation_monotonic(
name_str,
Some(regulator.clone()),
Some(target.clone()),
monotonicity,
"",
)
}
pub fn mk_hctl_prop(formula: &str) -> Result<DynProperty, String> {
let name_str = "Generic HCTL property";
DynProperty::try_mk_generic(name_str, formula, "")
}