pub struct Unification {
pub has_unification: bool,
pub unify_map_1: VarSubstitution,
pub unify_map_2: VarSubstitution,
}Expand description
多值输出:寻找「归一替换」的中间结果
- 🎯使用类似
unify_find(t1, t2).apply_to(c1, c2)完成「可变性隔离」
Fields§
§has_unification: bool是否能归一
unify_map_1: VarSubstitution如若归一,归一要换掉的变量映射 @ 词项1
unify_map_2: VarSubstitution如若归一,归一要换掉的变量映射 @ 词项2
Implementations§
Source§impl Unification
impl Unification
Sourcepub fn apply_to(
&self,
parent1: CompoundTermRefMut<'_>,
parent2: CompoundTermRefMut<'_>,
) -> bool
pub fn apply_to( &self, parent1: CompoundTermRefMut<'_>, parent2: CompoundTermRefMut<'_>, ) -> bool
重定向到[unify_apply]
- 🚩返回「是否可归一化」
- 🚩【2024-07-09 21:48:43】目前作为一个实用的「链式应用方法」用以替代公开的
unifyApply
Sourcepub fn apply_to_term(&self, parent1: &mut Term, parent2: &mut Term) -> bool
pub fn apply_to_term(&self, parent1: &mut Term, parent2: &mut Term) -> bool
同Self::apply_to,但允许应用在任何词项中
- 🚩一律返回「是否已归一化」
- ⚠️对「单个复合词项」仍可能应用归一化失败:与「应用到哪儿」无关
Trait Implementations§
Source§impl Clone for Unification
impl Clone for Unification
Source§fn clone(&self) -> Unification
fn clone(&self) -> Unification
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 Unification
impl RefUnwindSafe for Unification
impl Send for Unification
impl Sync for Unification
impl Unpin for Unification
impl UnsafeUnpin for Unification
impl UnwindSafe for Unification
Blanket Implementations§
Source§impl<T> BoostWithOption for T
impl<T> BoostWithOption for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> JoinTo for T
impl<T> JoinTo for T
Source§fn join_to<S>(self, out: &mut String, sep: impl AsRef<str>)
fn join_to<S>(self, out: &mut String, sep: impl AsRef<str>)
将字串集中拼接到一个「目标字串」中,中途不创建任何辅助字符串 Read more
Source§impl<T> JoinTo for T
impl<T> JoinTo for T
Source§fn join_to<S>(self, out: &mut String, sep: impl AsRef<str>)
fn join_to<S>(self, out: &mut String, sep: impl AsRef<str>)
将字串集中拼接到一个「目标字串」中,中途不创建任何辅助字符串 Read more