Packages

c

provingground.learning

CompositeProver

class CompositeProver[D] extends AnyRef

Linear Supertypes
AnyRef, Any
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CompositeProver
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new CompositeProver()(implicit arg0: Monoid[D])

Type Members

  1. case class AnyOf(provers: Vector[Prover], parallel: Boolean) extends Prover with Product with Serializable
  2. case class BothOf(first: Prover, second: Prover, zipProofs: (Term, Term) => Option[Term]) extends Prover with Product with Serializable
  3. case class Contradicted(prover: Prover, data: D) extends Result with Product with Serializable
  4. case class Elementary(lp: LocalProverStep, getData: (LocalProverStep) => Task[D], isSuccess: (D) => Task[Boolean]) extends Prover with Product with Serializable
  5. case class MapProof(prover: Prover, proofMap: (Term) => Option[Term]) extends Prover with Product with Serializable
  6. case class OneOf(first: Prover, second: Prover) extends Prover with Product with Serializable
  7. case class Proved(prover: Prover, data: D) extends Result with Product with Serializable
  8. sealed trait Prover extends AnyRef
  9. sealed trait Result extends AnyRef
  10. case class SomeOf(provers: Vector[Prover]) extends Prover with Product with Serializable
  11. case class Unknown(data: D, partials: Set[Result]) extends Result with Product with Serializable
  12. case class Xor(hyp: Prover, contra: Prover) extends Prover with Product with Serializable

Value Members

  1. def combineResults(x: Result, y: Result): Product with Result with Serializable { def flip: Product with CompositeProver.this.Result with java.io.Serializable }
  2. def consequences(result: Result): Set[Result]
  3. def contradictedProvers(results: Set[Result]): Set[Prover]
  4. val empty: D
  5. def isContradicted(results: Set[Result], prover: Prover): Boolean
  6. def isProved(results: Set[Result], prover: Prover): Boolean
  7. def mergeResults(res: Iterable[Result]): Result
  8. def proveSome(provers: Vector[Prover], results: Vector[Result], data: D, useData: (D) => (LocalProverStep) => LocalProverStep): Task[(Vector[Result], D)]
  9. def provedProvers(results: Set[Result]): Set[Prover]
  10. def purge(results: Set[Result], prover: Prover): Option[Prover]

    Purge components of the result that have been contradicted.

  11. def sequenceResult(provers: Vector[Prover], accum: D, partials: Set[Result]): Task[Result]