object Pickrule
The pick* functions generalize the convenience constructors of the LK rules which allow to specify arguments by a formula instead of an index. Here we lookup fitting matches for the auxiliary formulas of each LK rule. In the case of LK, fitting is defined as equality of the formula. In the case of LKsk, it is equality of formulas and skolem symbols. An algorithm using pickrule is therefore easier to transfer to LKsk.
- Source
- Utils.scala
- Alphabetic
- By Inheritance
- Pickrule
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type zipIndex = (Formula, SequentIndex)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
pick(es: HOLSequent, aux: SequentIndex, candidates: Seq[zipIndex]): SequentIndex
picks one occurrences from the candidates s.t.
picks one occurrences from the candidates s.t. formulas (if it exists) are identical.
- returns
the index of a fitting formulas for aux
-
def
pick(p: LKProof, aux: SequentIndex, candidates: Seq[zipIndex]): SequentIndex
picks one occurrences from the candidates s.t.
picks one occurrences from the candidates s.t. formulas (if it exists) are identical
- p
the proof which is used as template
- aux
an index into p.endSequent
- candidates
a list of candidate formulas to pick a match for aux
- returns
the index of a fitting formulas for aux
-
def
pick1(es: HOLSequent, aux: SequentIndex, candidates: Seq[zipIndex]): (SequentIndex, Seq[zipIndex])
picks 1 occurrence from the same list s.t.
picks 1 occurrence from the same list s.t. ac1 != ac2, where formulas and skolem label agree
- returns
a pair of index and remaining candidates
-
def
pick2(es: HOLSequent, aux1: SequentIndex, aux2: SequentIndex, candidates: Seq[zipIndex]): List[SequentIndex]
picks 2 occurrences from the same list s.t.
picks 2 occurrences from the same list s.t. ac1 != ac2, where formulas and skolem label agree
- returns
a list with the indices of a fitting formulas for aux1 / aux2
-
def
pick2(p: LKProof, aux1: SequentIndex, aux2: SequentIndex, candidates: Seq[zipIndex]): List[SequentIndex]
picks 2 occurrences from the same list s.t.
picks 2 occurrences from the same list s.t. ac1 != ac2, where formulas and skolem label agree
- returns
a list with the indices of a fitting formulas for aux1 / aux2
-
def
pickrule(p: LKProof, old_parents: Seq[LKProof], new_parents: Seq[LKProof], old_aux: List[SequentIndex]): List[SequentIndex]
For a rule p with parent sequents ps and auxiliary formulas aux, pick a fitting formula for each aux formula in the correct part of the sequent.
For a rule p with parent sequents ps and auxiliary formulas aux, pick a fitting formula for each aux formula in the correct part of the sequent. E.g. if p is an implication right rule, aux(0) will be picked from the antecedent of ps(0) and aux(1) will be picked from the succedent of ps(0).
- p
The proof which rule should be simulated, we assume we want to mirror the inference to create a similar proof p'
- old_parents
The parents of p.
- new_parents
The intended parents for p'
- old_aux
The indices of the auxiliary formulas in the parents
- returns
a list of indices in new_parents where the formulas match old_aux
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
This is the API documentation for GAPT.
The main package is gapt.