···494494Tallis Salvator mundi OBTA p273 🟢
495495Tallis Sancte Deus 2ndCh p27
496496Tallis Verily, verily I say unto you AfC1 p208 🟢
497497-Tallis Why fumeth in sight FaberTal p13 🟢
497497+Tallis Why fumeth in sight FaberTal p13 🟢
498498Tallis With all our heart FaberTal p21 🟢
499499Tallis (attrib.) All people that on earth do dwell AfC1 p18
500500Tate Carol, with lullaby CfC1 p72
···11+\date{2025-11-28T05:41:54Z}
22+\taxon{Proof Method}
33+\title{\code{rule}}
44+\author{liamoc}
55+\p{Given a goal #{\llbracket A_1 \dots A_n \rrbracket \implies G} and a theorem \code{r}#{: \llbracket P_1 \dots P_n \rrbracket \implies G} (commonly an introduction rule),
66+\code{apply (rule r)} replaces the goal with subgoals:
77+\ul{\li{#{\llbracket A_1 \dots A_n \rrbracket \implies P_1 }}\li{ #{\dots}}\li{ #{\llbracket A_1 \dots A_n \rrbracket \implies P_n }}}
88+}
99+\scope{
1010+\put\transclude/toc{false}
1111+\subtree{
1212+ \taxon{Aside}
1313+ \p{Technically, the conclusion of the rule and the goal do not have to be exactly equal, but they must be \em{unifiable} – that is, there must be some substitution to schematic variables that makes the conclusion of the rule and the goal equal.}
1414+}}
+10
trees/isa/isa-0010.tree
···11+\date{2025-11-28T05:41:54Z}
22+\taxon{Proof Method}
33+\title{\code{frule} and \code{drule}}
44+\author{liamoc}
55+\p{Given a goal #{\llbracket X; A_1 \dots A_n \rrbracket \implies G} and a theorem \code{r}#{: \llbracket X; P_1 \dots P_n \rrbracket \implies Y},
66+\code{apply (frule r)} replaces the goal with subgoals:
77+\ul{\li{#{\llbracket X; A_1 \dots A_n \rrbracket \implies P_1 }}\li{ #{\dots}}\li{ #{\llbracket X; A_1 \dots A_n \rrbracket \implies P_n }}
88+\li{#{\llbracket X; Y; A_1 \dots A_n \rrbracket \implies G}}}
99+}
1010+\p{The method \code{drule} is the same as \code{frule} except that it also deletes the assumption #{X} from the last subgoal.}
+8
trees/isa/isa-0011.tree
···11+\date{2025-11-28T05:41:54Z}
22+\taxon{Proof Method}
33+\title{\code{erule}}
44+\author{liamoc}
55+\p{Given a goal #{\llbracket X; A_1 \dots A_n \rrbracket \implies G} and a theorem \code{r}#{: \llbracket X; P_1 \dots P_n \rrbracket \implies G} (typically an elimination rule where the conclusion is just a variable, easily unified with #{G}),
66+\code{apply (erule r)} replaces the goal with subgoals:
77+\ul{\li{#{\llbracket A_1 \dots A_n \rrbracket \implies P_1 }}\li{ #{\dots}}\li{ #{\llbracket A_1 \dots A_n \rrbracket \implies P_n }}}
88+}