Fiona is green. Fiona is kind. Fiona is nice. Fiona is quiet. Fiona is red. Fiona is rough. Fiona is young. Harry is green. Harry is kind. Harry is red. Harry is rough. Harry is young. All quiet things are rough. If Fiona is kind and Fiona is quiet then Fiona is nice. All green things are nice. All nice things are young. All quiet, young things are kind. All quiet things are rough. All rough, kind things are red. If something is nice and quiet then it is red.
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is young.
("Harry" "is" "young" "+")
All quiet things are rough.
((("something" "is" "quiet" "+")) -> ("something" "is" "rough" "+"))
If Fiona is kind and Fiona is quiet then Fiona is nice.
((("Fiona" "is" "kind" "+") ("Fiona" "is" "quiet" "+")) -> ("Fiona" "is" "nice" "+"))
All green things are nice.
((("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
All nice things are young.
((("something" "is" "nice" "+")) -> ("something" "is" "young" "+"))
All quiet, young things are kind.
((("something" "is" "quiet" "+") ("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
All quiet things are rough.
((("something" "is" "quiet" "+")) -> ("something" "is" "rough" "+"))
All rough, kind things are red.
((("something" "is" "rough" "+") ("something" "is" "kind" "+")) -> ("something" "is" "red" "+"))
If something is nice and quiet then it is red.
((("something" "is" "nice" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "red" "+"))
Fiona is young.
True
1
proof
[(triple7 OR ((triple3) -> rule4) OR ((((triple1) -> rule3)) -> rule4) OR ((((triple2 triple4) -> rule2)) -> rule4))]
("Fiona" "is" "young" "+")
triple7
((triple3) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple1) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple2 triple4) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Harry is not green.
False
1
inv-proof
[(triple8)]
("Harry" "is" "green" "-")
triple8
@0: Fiona is green.[(triple1)] Fiona is kind.[(triple2 OR ((triple4 triple7) -> rule5) OR ((triple4 ((triple3) -> rule4)) -> rule5) OR ((triple4 ((((triple1) -> rule3)) -> rule4)) -> rule5))] Fiona is nice.[(triple3 OR ((triple1) -> rule3) OR ((triple2 triple4) -> rule2) OR ((((triple4 triple7) -> rule5) triple4) -> rule2))] Fiona is quiet.[(triple4)] Fiona is red.[(triple5 OR ((triple3 triple4) -> rule8) OR ((triple6 triple2) -> rule7) OR ((triple6 ((triple4 triple7) -> rule5)) -> rule7) OR ((((triple1) -> rule3) triple4) -> rule8) OR ((((triple4) -> rule1) triple2) -> rule7) OR ((((triple4) -> rule6) triple2) -> rule7) OR ((((triple2 triple4) -> rule2) triple4) -> rule8) OR ((((triple4) -> rule1) ((triple4 triple7) -> rule5)) -> rule7) OR ((((triple4) -> rule6) ((triple4 triple7) -> rule5)) -> rule7) OR ((triple6 ((triple4 ((triple3) -> rule4)) -> rule5)) -> rule7) OR ((((((triple4 triple7) -> rule5) triple4) -> rule2) triple4) -> rule8) OR ((((triple4) -> rule1) ((triple4 ((triple3) -> rule4)) -> rule5)) -> rule7) OR ((((triple4) -> rule6) ((triple4 ((triple3) -> rule4)) -> rule5)) -> rule7) OR ((triple6 ((triple4 ((((triple1) -> rule3)) -> rule4)) -> rule5)) -> rule7) OR ((((triple4) -> rule1) ((triple4 ((((triple1) -> rule3)) -> rule4)) -> rule5)) -> rule7) OR ((((triple4) -> rule6) ((triple4 ((((triple1) -> rule3)) -> rule4)) -> rule5)) -> rule7))] Fiona is rough.[(triple6 OR ((triple4) -> rule1) OR ((triple4) -> rule6))] Fiona is young.[(triple7 OR ((triple3) -> rule4) OR ((((triple1) -> rule3)) -> rule4) OR ((((triple2 triple4) -> rule2)) -> rule4))] Harry is green.[(triple8)] Harry is kind.[(triple9)] Harry is red.[(triple10 OR ((triple11 triple9) -> rule7))] Harry is rough.[(triple11)] Harry is young.[(triple12 OR ((((triple8) -> rule3)) -> rule4))] @1: Harry is nice.[(((triple8) -> rule3))]
Fiona is green.
("Fiona" "is" "green" "+")
triple1
Fiona is kind.
("Fiona" "is" "kind" "+")
triple2
((triple4 triple7) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
((triple4 ((triple3) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((triple4 ((((triple1) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
triple3
((triple1) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple2 triple4) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple4 triple7) -> (rule5 % int2)) triple4) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple4
Fiona is red.
("Fiona" "is" "red" "+")
triple5
((triple3 triple4) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple6 triple2) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((triple6 ((triple4 triple7) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
((((triple1) -> (rule3 % int2)) triple4) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple4) -> (rule1 % int2)) triple2) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple4) -> (rule6 % int2)) triple2) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple2 triple4) -> (rule2 % int2)) triple4) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple4) -> (rule1 % int3)) ((triple4 triple7) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((triple4) -> (rule6 % int3)) ((triple4 triple7) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((triple6 ((triple4 ((triple3) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
((((((triple4 triple7) -> (rule5 % int3)) triple4) -> (rule2 % int2)) triple4) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
((((triple4) -> (rule1 % int4)) ((triple4 ((triple3) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
((((triple4) -> (rule6 % int4)) ((triple4 ((triple3) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
((triple6 ((triple4 ((((triple1) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
((((triple4) -> (rule1 % int5)) ((triple4 ((((triple1) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is rough.
("Fiona" "is" "rough" "+")
int5
((((triple4) -> (rule6 % int5)) ((triple4 ((((triple1) -> (rule3 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Fiona is rough.
("Fiona" "is" "rough" "+")
int5
Fiona is rough.
("Fiona" "is" "rough" "+")
triple6
((triple4) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple4) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple7
((triple3) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple1) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple2 triple4) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
triple8
Harry is kind.
("Harry" "is" "kind" "+")
triple9
Harry is red.
("Harry" "is" "red" "+")
triple10
((triple11 triple9) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
triple11
Harry is young.
("Harry" "is" "young" "+")
triple12
((((triple8) -> (rule3 % int2))) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
((triple8) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1