4.8 KiB
Feedback for Homework 06
Run on April 23, 14:49:22 PM.
- Pass: Change into directory "Hwk_06".
Feedback for tautology.ml
-
Pass: Check that file "tautology.ml" exists.
-
Pass: Check that an OCaml file "tautology.ml" has no syntax or type errors.
OCaml file "tautology.ml" has no syntax or type errors.
eval
-
Pass: Check that the result of evaluating
eval (And ( Prop "P", Prop "Q")) [("P",true); ("Q",false)]
matches the pattern
false
. -
Pass: Check that the result of evaluating
eval (And ( Prop "P", Prop "Q")) [("P",true); ("Q",true)]
matches the pattern
true
. -
Pass: Check that the result of evaluating
eval (Or (Prop "P", Or (Prop "Q", Prop "R"))) [("P",false); ("Q",false); ("R",false)]
matches the pattern
false
. -
Pass: Check that the result of evaluating
eval (Or (Prop "P", Or (Prop "Q", Prop "R"))) [("P",false); ("Q",false); ("R",true)]
matches the pattern
true
. -
Pass: Check that the result of evaluating
eval (Or (Prop "P", Or (Prop "Q", Not (Prop "R")))) [("P",false); ("Q",false); ("R",true)]
matches the pattern
false
. -
Pass: Check that the result of evaluating
eval (Or (Prop "P", Or (Prop "Q", Not (Prop "R")))) [("P",false); ("Q",false); ("R",false)]
matches the pattern
true
.
freevars
-
Pass: Check that the result of evaluating
List.exists ( (=) "P" ) (freevars (And (Prop "P", Prop "Q")))
matches the pattern
true
. -
Pass: Check that the result of evaluating
List.exists ( (=) "Q" ) (freevars (Or (Prop "P", Prop "Q")))
matches the pattern
true
. -
Pass: Check that the result of evaluating
List.length (freevars (And ( Prop "P", Or (Prop "Q", Prop "P"))))
matches the pattern
2
. -
Pass: Check that the result of evaluating
freevars (And (True, False))
matches the pattern
[ ]
.
is_tautology
-
Pass: Check that the result of evaluating
let f = Or (Prop "P", Not (Prop "P")) in match is_tautology f (fun s -> Some s) with | None -> "yes" | Some _ -> "no"
matches the pattern
"yes"
. -
Pass: Check that the result of evaluating
let f = Or (Or (Not (Prop "P"), Prop "Q"), Or (Not (Prop "Q"), Prop "P")) in match is_tautology f (fun s -> Some s) with | None -> "yes" | Some _ -> "no"
matches the pattern
"yes"
. -
Pass: Check that the result of evaluating
let f = Or (Prop "P", Prop "Q") in match is_tautology f (fun s -> Some s) with | None -> "yes" | Some _ -> "no"
matches the pattern
"no"
. -
Pass: Check that the result of evaluating
let f = And (Prop "P", Prop "Q") in match is_tautology f (fun s -> Some s) with | None -> "yes" | Some _ -> "no"
matches the pattern
"no"
. -
Pass: Check that the result of evaluating
let f = And (Prop "P", Prop "Q") in match is_tautology f (fun s -> Some s) with | None -> "yes" | Some subst when eval f subst = false -> "no" | Some _ -> "fail, error in is_tautology or eval"
matches the pattern
"no"
. -
Pass: Check that the result of evaluating
let f = And (Not (Prop "P"), Or (Prop "Q", Prop "P")) in match is_tautology f (fun s -> Some s) with | None -> "yes" | Some subst when eval f subst = false -> "no" | Some _ -> "fail, error in is_tautology or eval"
matches the pattern
"no"
.
Feedback for maze.ml
-
Pass: Check that file "maze.ml" exists.
-
Fail: Check that an OCaml file "maze.ml" has no syntax or type errors.
OCaml file maze.ml has errors.
Run "ocaml maze.ml" to see them.
Make sure that you are using ocaml version 4.02.3. Run "ocaml -version" to check the version number. Check the specification from Lab 5 again if you are still having problems with this.
-
Skip: Check that the result of evaluating
(maze () = Some [ (2,3); (1,3); (1,2); (2,2); (3,2); (3,3); (3,4); (4,4); (4,5); (3,5) ]) || (maze () = Some [ (2,3); (1,3); (1,2); (2,2); (3,2); (3,3); (4,3); (5,3); (5,2); (5,1) ]) || (maze () = Some [ (2,3); (1,3); (1,4); (1,5); (2,5); (2,4); (3,4); (3,3); (4,3); (5,3); (5,2); (5,1) ]) || (maze () = Some [ (2,3); (1,3); (1,4); (1,5); (2,5); (2,4); (3,4); (4,4); (4,5); (3,5) ])
matches the pattern
true
.This test was not run because of an earlier failing test.
Total score: 16 / 17
The total score is used only to count the number of tests passed. Actual point value for individual tests will change for assessment.