Beispiel #1
0
        public static List <GenericInstantiator.EdgeAggregator> CreateTransitiveParallel(Parallel parallel1, Parallel parallel2)
        {
            annotation.active = EngineUIBridge.JustificationSwitch.TRANSITIVE_PARALLEL;

            List <GenericInstantiator.EdgeAggregator> newGrounded = new List <GenericInstantiator.EdgeAggregator>();

            //
            // Create the antecedent clauses
            //
            List <GroundedClause> antecedent = new List <GroundedClause>();

            antecedent.Add(parallel1);
            antecedent.Add(parallel2);

            //
            // Create the consequent clause
            //
            Segment shared = parallel1.SharedSegment(parallel2);

            AlgebraicParallel newAP = new AlgebraicParallel(parallel1.OtherSegment(shared), parallel2.OtherSegment(shared));

            newGrounded.Add(new GenericInstantiator.EdgeAggregator(antecedent, newAP, annotation));

            return(newGrounded);
        }
Beispiel #2
0
        public override bool Equals(Object obj)
        {
            AlgebraicParallel gp = obj as AlgebraicParallel;

            if (gp == null)
            {
                return(false);
            }
            return(base.Equals(obj));
        }
Beispiel #3
0
        public static List<GenericInstantiator.EdgeAggregator> CreateTransitiveParallel(Parallel parallel1, Parallel parallel2)
        {
            annotation.active = EngineUIBridge.JustificationSwitch.TRANSITIVE_PARALLEL;

            List<GenericInstantiator.EdgeAggregator> newGrounded = new List<GenericInstantiator.EdgeAggregator>();

            //
            // Create the antecedent clauses
            //
            List<GroundedClause> antecedent = new List<GroundedClause>();
            antecedent.Add(parallel1);
            antecedent.Add(parallel2);

            //
            // Create the consequent clause
            //
            Segment shared = parallel1.SharedSegment(parallel2);

            AlgebraicParallel newAP = new AlgebraicParallel(parallel1.OtherSegment(shared), parallel2.OtherSegment(shared));

            newGrounded.Add(new GenericInstantiator.EdgeAggregator(antecedent, newAP, annotation));

            return newGrounded;
        }