Tactics are ML functions that split a goal into one or more subgoals. There is an inference rule that can produce the original goal from the subgoal if the subgoals are true . You can read more about goal directed proofs and tactics here. Setting the Goal HOL keeps track of the current state of a goal directed proof using the subgoal package . See the xhol documentation for more information.
Questions Write a function maxl that returns the maximum value from a list.
Write a function combine that takes a pair of lists and returns a list of pairs where the list of pairs is formed by zipping the arguments together. Using the definition from bv given above write an ML function val that returns the value of a bit string represented as a list of truth values. Please document your decisions. Write an ML predicate , add , that takes three lists of booleans and returns true if and only if the third list represents the boolean addition of the first two. You predicate should use bv and val .