예제 #1
0
        public override StateFormula existentialNormalForm()
        {
            StateFormula e_left  = left.existentialNormalForm();
            StateFormula e_right = right.existentialNormalForm();

            return(new SAnd(e_left, e_right));
        }
예제 #2
0
        public override StateFormula existentialNormalForm()
        {
            //EF phi = E (true U phi)
            StateFormula true_state = new SBoolean(true);
            StateFormula phi        = operand.existentialNormalForm();

            return(new SEUntil(true_state, phi));
        }
예제 #3
0
        public override StateFormula existentialNormalForm()
        {
            // AX phi = NOT E (X NOT phi)
            StateFormula e_operand   = operand.existentialNormalForm();
            StateFormula not_phi     = new SNot(e_operand);
            StateFormula exists_next = new SENext(not_phi);

            return(new SNot(exists_next));
        }
        public override StateFormula existentialNormalForm()
        {
            // AG phi = NOT EG (NOT phi)
            StateFormula e_operand = operand.existentialNormalForm();
            StateFormula not_phi   = new SNot(e_operand);

            StateFormula exists_always = new SEAlways(not_phi);

            return(new SNot(exists_always));
        }
예제 #5
0
        public override StateFormula existentialNormalForm()
        {
            // AG phi = NOT EF (NOT phi) = NOT E (true U (NOT phi))
            StateFormula e_operand = operand.existentialNormalForm();

            StateFormula not_phi      = new SNot(e_operand);
            StateFormula true_state   = new SBoolean(true);
            StateFormula exists_until = new SEUntil(true_state, not_phi);


            return(new SNot(exists_until));
        }
예제 #6
0
        public override StateFormula existentialNormalForm()
        {
            StateFormula e_left  = left.existentialNormalForm();
            StateFormula e_right = right.existentialNormalForm();

            // a OR b = NOT ((NOT a) AND (NOT b))
            e_left  = new SNot(e_left);
            e_right = new SNot(e_right);

            StateFormula and = new SAnd(e_left, e_right);

            return(new SNot(and));
        }
예제 #7
0
        public override StateFormula existentialNormalForm()
        {
            StateFormula e_operand = operand.existentialNormalForm();

            return(new SEAlways(e_operand));
        }
예제 #8
0
        public override StateFormula existentialNormalForm()
        {
            StateFormula e_state = state.existentialNormalForm();

            return(new SNot(e_state));
        }