Fiona is nice. Fiona is quiet. Fiona is rough. Fiona is smart. Fiona is white. Fiona is young. Harry is blue. Harry is nice. Harry is quiet. Harry is rough. Harry is smart. Harry is young. Smart people are quiet. If Harry is blue then Harry is quiet. If Fiona is nice and Fiona is white then Fiona is not blue.
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is young.
("Harry" "is" "young" "+")
Smart people are quiet.
((("someone" "is" "smart" "+")) -> ("someone" "is" "quiet" "+"))
If Harry is blue then Harry is quiet.
((("Harry" "is" "blue" "+")) -> ("Harry" "is" "quiet" "+"))
If Fiona is nice and Fiona is white then Fiona is not blue.
((("Fiona" "is" "nice" "+") ("Fiona" "is" "white" "+")) -> ("Fiona" "is" "blue" "-"))
Fiona is quiet.
True
1
proof
[(triple2 OR ((triple4) -> rule1))]
("Fiona" "is" "quiet" "+")
triple2
((triple4) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is not young.
False
1
inv-proof
[(triple6)]
("Fiona" "is" "young" "-")
triple6
Fiona is not blue.
True
3
proof
[(((triple1 triple5) -> rule3))]
("Fiona" "is" "blue" "-")
((triple1 triple5) -> (rule3 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
Fiona is blue.
False
3
inv-proof
[(((triple1 triple5) -> rule3))]
("Fiona" "is" "blue" "+")
((triple1 triple5) -> (rule3 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1
@0: Fiona is nice.[(triple1)] Fiona is quiet.[(triple2 OR ((triple4) -> rule1))] Fiona is rough.[(triple3)] Fiona is smart.[(triple4)] Fiona is white.[(triple5)] Fiona is young.[(triple6)] Harry is blue.[(triple7)] Harry is nice.[(triple8)] Harry is quiet.[(triple9 OR ((triple11) -> rule1) OR ((triple7) -> rule2))] Harry is rough.[(triple10)] Harry is smart.[(triple11)] Harry is young.[(triple12)] @1: Fiona is not blue.[(((triple1 triple5) -> rule3))]
Fiona is nice.
("Fiona" "is" "nice" "+")
triple1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple2
((triple4) -> (rule1 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple3
Fiona is smart.
("Fiona" "is" "smart" "+")
triple4
Fiona is white.
("Fiona" "is" "white" "+")
triple5
Fiona is young.
("Fiona" "is" "young" "+")
triple6
Harry is blue.
("Harry" "is" "blue" "+")
triple7
Harry is nice.
("Harry" "is" "nice" "+")
triple8
Harry is quiet.
("Harry" "is" "quiet" "+")
triple9
((triple11) -> (rule1 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((triple7) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
triple10
Harry is smart.
("Harry" "is" "smart" "+")
triple11
Harry is young.
("Harry" "is" "young" "+")
triple12
Fiona is not blue.
("Fiona" "is" "blue" "-")
((triple1 triple5) -> (rule3 % int1))
Fiona is not blue.
("Fiona" "is" "blue" "-")
int1