Jim: indeed, maybe versions related to Mario's algorithm for the deduction theorem should all be labeled xxxd, whether they have zero or more hypotheses.
But the suffix "d" is still overloaded: in my previous post and its correction, I gave two incompatible conventions of xxxd which are used in set.mm (e.g., mpd for the first and a1d for the second). But then, both a1d and bj-a1k could pretend to be "the deduction associated with ax-1". Similarly for mpd versus mp1i with respect to ax-mp. Why in one case choose one convention and in another the other convention ? For clarity, the two versions of "associated deduction" could be better distinguished, both by terminology and by systematic suffixing of a label.
Benoît
--
You received this message because you are subscribed to the Google Groups "Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email to metamath+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/metamath/3d3cf16d-3f83-453c-a5b1-9614e8093de6n%40googlegroups.com.
As for the questions raised by David: in my opinion, the best term to refer to hypotheses-free theorems is "hypotheses-free theorem", or "theorem with no hypotheses" (in other words, no special term is needed; you can add that it is also called a "closed form" theorem, and in a footnote, mention that within propositional calculus, it is sometimes called a tautology or simply a theorem, as opposed to an inference; however, it is more convenient for us to use "theorem" also when there are hypotheses). Then, I would say that a scheme is an inference (resp. a deduction), if it is an inference (resp. a deduction) associated with a (not necessarily true) scheme. This brings us back to the original question.
To summarize, let me denote a scheme by PHI => PSI where PHI actually abbreviates PHI_1 & ... & PHI_n, with n=0 corresponding to "no hypotheses". Also, I suppose that "phi" does not occur in those, and I do not deal with DV conditions (we'll deal with ways to express non-freeness later). Starting from a scheme
xxx: PHI => PSI
consider the two constructions:
xxxA: ( phi -> PHI ) => ( phi -> PSI )
xxxk: PHI => ( phi -> PSI ) [examples: mp1i; bj-a1k; idd; etc. see first two posts of this thread for several examples]
Starting from the scheme
yyy: PHI => ( PSI -> CHI )
consider the two additional constructions:
yyyi: PHI & PSI => CHI [the inference associated with yyy]
yyyB: PHI & ( phi -> PSI ) => ( phi -> CHI )
Note that yyyBi is roughly yyyi, so it is only a small abuse of language to say that "yyyBi is the inference associated with yyy".
Currently in set.mm, both the A and the B constructions are called alternatively "the deduction associated with" and both use the label suffix "d" (e.g. a1d versus mpd). As Mario mentioned, if n=0, then yyyiA == yyyB, so they are closely related (and also xxxA == xxxk when n=0). But this is not anymore the case when there are hypotheses.
Replying to myself - section 3.9.3 of the Metamath book defines
"closed form", "deduction form", and "inference form". See below.
If we change deduction form to say "zero or more hypotheses" then
the categories are no longer exclusive.
If we change the definition of "deduction form" so that it has zero or more hypotheses,
then I think we ALSO need to change the definition of "closed form"
so it's "no hypotheses and its conclusion is NOT in the form ph -> ..."
(or some wording to that effect). That way, the categories are
mutually exclusive & cover all options.
• closed form: A kind of assertion (theorem) with no hypotheses.
Typically its label has no special suffix. An example is unss, which
states: `((A ⊆C ∧B ⊆C) ↔(A ∪B) ⊆C)
• deduction form: A kind of assertion with one or more hypotheses
where the conclusion is an implication with a wff variable as the
antecedent (usually φ), and every hypothesis ($e statement) is either
(1) an implication with the same antecedent as the conclusion or (2) a
definition. A definition can be for a class variable (this is a class variable
followed by “=”) or a wff variable (this is a wff variable followed by
↔); class variable definitions are more common. In practice, a proof
in deduction form will also contain many steps that are implications
where the antecedent is either that wff variable (normally φ) or is a
conjunction (...∧...) including that wff variable (φ). If an assertion is
in deduction form, and other forms are also available, then we suffix
its label with “d.” An example is unssd, which states12: `(φ →A ⊆
C) & `(φ →B ⊆C) ⇒ `(φ →(A ∪B) ⊆C)
• inference form: A kind of assertion with one or more hypotheses
that is not in deduction form (e.g., there is no common antecedent).
If an assertion is in inference form, and other forms are also available,
then we suffix its label with “i.” An example is unssi, which states:
`A ⊆C & `B ⊆C ⇒ `(A ∪B) ⊆C
Starting from a scheme
xxx: PHI => PSI
consider the two constructions:
xxxA: ( phi -> PHI ) => ( phi -> PSI )
xxxk: PHI => ( phi -> PSI ) [examples: mp1i; bj-a1k; idd; etc. see first two posts of this thread for several examples]
Starting from the scheme
yyy: PHI => ( PSI -> CHI )
consider the two additional constructions:
yyyi: PHI & PSI => CHI [the inference associated with yyy]
yyyB: PHI & ( phi -> PSI ) => ( phi -> CHI )
I would opt to call only the xxxA operation "deduction form". The yyyB operation is only putting the phi on some of the hypotheses, which is occasionally useful (and can be applied to an arbitrary subset of the hypotheses, so it's not a uniquely defined operation) but not very common.
We can add another operation, the "closed form" operation, like so:From the schemexxx: PHI => PSIwe derivexxxt: |- ( PHI -> PSI )
Then xxxt always has 0 hypotheses, and xxxti == xxx if PSI is not an implication.
Starting from a scheme
xxx: PHI => PSI
consider the two constructions:
xxxA: ( phi -> PHI ) => ( phi -> PSI )
xxxk: PHI => ( phi -> PSI ) [examples: mp1i; bj-a1k; idd; etc. see first two posts of this thread for several examples]
Starting from the scheme
yyy: PHI => ( PSI -> CHI )
consider the two additional constructions:
yyyi: PHI & PSI => CHI [the inference associated with yyy]
yyyB: PHI & ( phi -> PSI ) => ( phi -> CHI )
I would opt to call only the xxxA operation "deduction form". The yyyB operation is only putting the phi on some of the hypotheses, which is occasionally useful (and can be applied to an arbitrary subset of the hypotheses, so it's not a uniquely defined operation) but not very common.
That's a detail, but yyyB is actually uniquely defined (look at the way yyyB is obtained from yyy, not from yyyi, which was the line just above it, which might explain the confusion).
Anyway, your proposal makes sense: the "deduction associated with" refers to the construction A, and also, by small abuse of language, to the construction iA when n=0 (i.e. when yyy has no hypotheses). An example is ax-1: ph -> (ps -> ph) which gives a1i: ph => ps -> ph, and then a1id: ch -> ph => ch -> ( ps -> ph), but we label it a1d instead of a1id. Collisions may appear when we want in set.mm the genuine A construction, and not the iA construction (which is the B construction when n=0). This is the case of bj-a1k, which is the genuine "deduction associated with ax-1", while a1d is actually "the deduction associated with the inference associated with ax-1". You seem to think that these cases are uncommon enough to still use this abuse of notation and terminology. I do not have a strong opinion either way, but one has to be aware of this small abuse of notation and terminology (once settled, we'll edit the conventions accordingly).
We can add another operation, the "closed form" operation, like so:From the schemexxx: PHI => PSIwe derivexxxt: |- ( PHI -> PSI )
In my notation, PHI abbreviated PHI_1 & ... & PHI_n (but PSI and CHI are single metaformulas), so to define xxxt, I guess that you mean either the curried form (implication chain) or the uncurried form (one antecedent which is a conjunction); this is up to permutation of the PHI_i's (and association in the uncurried form), and suppose n>0, but these are minor variants.
Then xxxt always has 0 hypotheses, and xxxti == xxx if PSI is not an implication.
I do not understand why PSI being an implication makes a difference. Maybe it's because by "xxxi", you mean the maximally iterated construction xxxi....i ? Also, if there are n>1 hypotheses, things have to be stated a bit more precisely, but I think the intention is clear.
> On Nov 30, 2021, at 3:23 AM, Mario Carneiro <di....@gmail.com> wrote:
> I think this is not really the right way to look at it. They aren't categories that are meant to be exclusive, they are operations that can be applied to a theorem statement with various relations between them, like Benoit has shown. However, it is convenient for discussion purposes to name a statement after the operation that produced it, even if this isn't uniquely defined in some cases.
I *DID* intend for them to be exclusive; exclusive & complete categorizations are a lot easier to explain ;-).
I'm okay with them being non-exclusive, but then we need to expressly say so. The purpose of these categories is to help people categorize & use assertions.
More importantly, clear conventions make it easier for people to work together.
> The categories are also not exhaustive. I would say that a theorem in inference form should not have an implication as the conclusion, or else it would not be in the image of the inference form operation (Benoit's yyyi operation). But then A |- ( B -> C ) is neither closed form nor inference form (and obviously not deduction form), and that's okay.
Under our current definitions this is clearly inference form. E.g., mmnatded.html says:
• Inference form: An assertion with hypotheses but no common antecedent is an "inference form"; it has a label suffix "i".
We can change our definitions, obviously. Why is being in the image of this yyyi operation is so important?
I'm honestly asking, I don't understand (maybe I'm missing the obvious).
To me it's helpful saying "this is in inference form", and I believe the algorithm for converting deduction form
to inference form works with *all* statements currently defined as being in inference form.
I don't see the big advantage in losing the ability to explain that.
> We're highlighting a particular structure of theorem that composes well, exactly because not all theorems compose so nicely, and there are theorems that don't fit any of the categories. (Plus, this is a very formalistic categorization, and it doesn't fully explain all theorems you can find "in the wild". For instance, ~pntlema is definitely written in "deduction style" but it does not fit the rigid definition given here because some hypotheses don't have a "ph ->" on them, and some hypotheses are conjunctions.
Huh? pntlema *does* meet the definition of "deduction form" that we've been using for many years. The current definition of "deduction form" allows hypotheses to be either (1) (ph-> ...) or (2) definitions (using = or <->). pntlema meets the current definition of deduction form, and I think it should *continue* to be considered an example of deduction form.
I also suggested expanding the definition of "deduction form" to allow a third case: not-free assertions without ( ph -> ...) statements.
We have statements such as "alrimd" that are technically not in deduction form merely because they use F/,
but are stated as being in deduction form. Let's expressly define them as being in deduction form.
> It's certainly possible to extend the definition to accomodate this but at some point it turns into formal descriptive linguistics and I don't think that this is necessarily helpful for someone trying to learn the conventions.)
Our *current* definitions allow for "definitions without a leading ph->", it's been that way for many years & it's clearly a useful construct.
I think it *is* helpful to clearly define these conventions. Clearly defining them makes it much easier for everyone to follow them. If they're too restrictive, let's identify reasonable relaxations and include them in the definitions.
I think that's particularly important for deduction form. How about this?"
• deduction form: A kind of assertion with zero or more hypotheses
where the conclusion is an implication with a wff variable as the
antecedent (usually φ), and every hypothesis ($e statement) is either
(1) an implication with the same antecedent as the conclusion, (2) a
definition, or (3) a statement of not-freeness ` F/ ` . {... existing text ...}
Are there any other relaxations for a theorem that would be sensibly
called "deduction form"? The only one I can think of is
where 1+ hypotheses are of the form:
( ( ph /\ ps ) -> ... )
Where "ph" is the common antecedent and ps are additions.
I'm not really advocating for it, I'm simply pointing out that
I think we add a few relaxations to the definition of
"deduction form" so that others who want to use the form will
easily know what they should be doing by convention.
> On Nov 29, 2021, at 3:43 PM, Benoit <benoit...@gmail.com> wrote:
> As for the questions raised by David: in my opinion, the best term to refer to hypotheses-free theorems is "hypotheses-free theorem", or "theorem with no hypotheses" (in other words, no special term is needed; you can add that it is also called a "closed form" theorem, and in a footnote, mention that within propositional calculus, it is sometimes called a tautology or simply a theorem, as opposed to an inference; however, it is more convenient for us to use "theorem" also when there are hypotheses).
It definitely gets confusing in some book sections & pages, e.g., mmnatded.html and mmededuction.html.
Currently they say:
> A deduction (also called an inference) is a kind of statement that needs some hypotheses to be true in order for its conclusion to be true. A theorem, on the other hand, has no hypotheses. (Informally we may call both of them theorems, but on this page we will stick to the strict definition.) An example of a deduction is the contraposition inference:
It might be easier to say something like this:
> Some theorems have one or more hypotheses; some have no hypotheses. Within propositional calculus, the term "deduction" is sometimes used for an assertion that has one or more hypotheses while "theorem" is only used for assertions with have no hypotheses. In metamath terminology, all proven assertions are termed theorems (whether they have hypotheses or not); to clearly identify a subset you can refer to "theorems without hypotheses" or "theorems with hypotheses" (the latter means "one or more hypotheses").
• deduction form: A kind of assertion with zero or more hypotheses
where the conclusion is an implication with a wff variable as the
antecedent (usually φ), and every hypothesis ($e statement) is either
(1) an implication with the same antecedent as the conclusion, (2) a
definition, or (3) a statement of not-freeness ` F/ ` . {... existing text ...}