Useful functions for handling clauses.
A clause is a list of literals that, depending on the context, is to be considered as an iterated conjunction or an iterated disjunction of its literals.
Lists of clauses are used to represent formulas in disjunctive or conjunctive normal form and in the two contexts they are interpreted, respectively, as an iterated disjunction of conjunctions (each clause in this case is a conjunction) or as an iterated conjunction of disjunctions (and in this case, therefore, each clause is to be considered as the disjunction of its literals).This module is not part of the original book code and is added here for convenience.
Function or value | Description |
|
|
|
Example
Multiple items
module List from Microsoft.FSharp.Collections -------------------- type List<'T> = | op_Nil | op_ColonColon of Head: 'T * Tail: 'T list interface IReadOnlyList<'T> interface IReadOnlyCollection<'T> interface IEnumerable interface IEnumerable<'T> member GetReverseIndex: rank: int * offset: int -> int member GetSlice: startIndex: int option * endIndex: int option -> 'T list static member Cons: head: 'T * tail: 'T list -> 'T list member Head: 'T member IsEmpty: bool member Item: index: int -> 'T with get ... val map: mapping: ('T -> 'U) -> list: 'T list -> 'U list
Evaluates to ["`P(x)`"] .
|
Function or value | Description |
NoteThis operator is not part of the original code and it was added here for convenience. Example
Evaluates to [[`P(x)`]; [`P(x)`; `~Q(x)`]] .
|
Function or value | Description |
|
Function or value | Description |
|
|
|
Function or value | Description |
|