Axiom.Runtime.StructureTerm.Unify C# (CSharp) Method

Unify() public method

public Unify ( AbstractTerm term ) : bool
term AbstractTerm
return bool
        public override bool Unify(AbstractTerm term)
        {
            if (term.IsReference)
            {
                term.Assign(this);
                return true;
            }
            if (term.IsStructure)
            {
                if (term.Name != _name || term.Arity != _arity)
                {
                    return false;
                }

                for (int i = 0; i < _arity; i++)
                {
                    if (!this[i].Unify(term[i]))
                    {
                        return false;
                    }
                }
                return true;
            }

            return false;
        }

Usage Example

コード例 #1
0
ファイル: StructureTerm.cs プロジェクト: ahodroj/prologdotnet
        public void Unify_str_con()
        {
            ConstantTerm term = new ConstantTerm("ali");
            StructureTerm s = new StructureTerm("s", 2);

            Assert.IsFalse(s.Unify(term));
        }
All Usage Examples Of Axiom.Runtime.StructureTerm::Unify