![]() |
Metamath
Proof Explorer Theorem List (p. 160 of 429) | < Previous Next > |
Bad symbols? Try the
GIF version. |
||
Mirrors > Metamath Home Page > MPE Home Page > Theorem List Contents > Recent Proofs This page: Page List |
Color key: | ![]() (1-27903) |
![]() (27904-29428) |
![]() (29429-42879) |
Type | Label | Description |
---|---|---|
Statement | ||
Syntax | cnx 15901 | Extend class notation with the structure component index extractor. |
class ndx | ||
Syntax | csts 15902 | Set components of a structure. |
class sSet | ||
Syntax | cslot 15903 | Extend class notation with the slot function. |
class Slot 𝐴 | ||
Syntax | cbs 15904 | Extend class notation with the class of all base set extractors. |
class Base | ||
Syntax | cress 15905 | Extend class notation with the extensible structure builder restriction operator. |
class ↾s | ||
Definition | df-struct 15906* |
Define a structure with components in 𝑀...𝑁. This is not a
requirement for groups, posets, etc., but it is a useful assumption for
component extraction theorems.
As mentioned in the section header, an "extensible structure should be implemented as a function (a set of ordered pairs)". The current definition, however, is less restrictive: it allows for classes which contain the empty set ∅ to be extensible structures. Because of 0nelfun 5944, such classes cannot be functions. Without the empty set, however, a structure must be a function, see structn0fun 15916: 𝐹 Struct 𝑋 → Fun (𝐹 ∖ {∅}). Allowing an extensible structure to contain the empty set ensures that expressions like {〈𝐴, 𝐵〉, 〈𝐶, 𝐷〉} are structures without asserting or implying that 𝐴, 𝐵, 𝐶 and 𝐷 are sets (if 𝐴 or 𝐵 is a proper class, then 〈𝐴, 𝐵〉 = ∅, see opprc 4456). This is used critically in strle1 16020, strle2 16021, strle3 16022 and strleun 16019 to avoid sethood hypotheses on the "payload" sets: without this, ipsstr 16071 and theorems like it will have many sethood assumptions, and may not even be usable in the empty context. Instead, the sethood assumption is deferred until it is actually needed, e.g. ipsbase 16072, which requires that the base set is a set but not any of the other components. Usually, a concrete structure like ℂfld does not contain the empty set, and therefore is a function, see cnfldfun 19806. (Contributed by Mario Carneiro, 29-Aug-2015.) |
⊢ Struct = {〈𝑓, 𝑥〉 ∣ (𝑥 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝑓 ∖ {∅}) ∧ dom 𝑓 ⊆ (...‘𝑥))} | ||
Definition | df-ndx 15907 | Define the structure component index extractor. See theorem ndxarg 15929 to understand its purpose. The restriction to ℕ ensures that ndx is a set. The restriction to some set is necessary since I is a proper class. In principle, we could have chosen ℂ or (if we revise all structure component definitions such as df-base 15910) another set such as the set of finite ordinals ω (df-om 7108). (Contributed by NM, 4-Sep-2011.) |
⊢ ndx = ( I ↾ ℕ) | ||
Definition | df-slot 15908* |
Define the slot extractor for extensible structures. The class
Slot 𝐴 is a function whose argument can be
any set, although it is
meaningful only if that set is a member of an extensible structure (such
as a partially ordered set (df-poset 16993) or a group (df-grp 17472)).
Note that Slot 𝐴 is implemented as "evaluation at 𝐴". That is, (Slot 𝐴‘𝑆) is defined to be (𝑆‘𝐴), where 𝐴 will typically be a small nonzero natural number. Each extensible structure 𝑆 is a function defined on specific natural number "slots", and this function extracts the value at a particular slot. The special "structure" ndx, defined as the identity function restricted to ℕ, can be used to extract the number 𝐴 from a slot, since (Slot 𝐴‘ndx) = 𝐴 (see ndxarg 15929). This is typically used to refer to the number of a slot when defining structures without having to expose the detail of what that number is (for instance, we use the expression (Base‘ndx) in theorems and proofs instead of its value 1). The class Slot cannot be defined as (𝑥 ∈ V ↦ (𝑓 ∈ V ↦ (𝑓‘𝑥))) because each Slot 𝐴 is a function on the proper class V so is itself a proper class, and the values of functions are sets (fvex 6239). It is necessary to allow proper classes as values of Slot 𝐴 since for instance the class of all (base sets of) groups is proper. (Contributed by Mario Carneiro, 22-Sep-2015.) |
⊢ Slot 𝐴 = (𝑥 ∈ V ↦ (𝑥‘𝐴)) | ||
Theorem | sloteq 15909 | Equality theorem for the Slot construction. (Contributed by BJ, 27-Dec-2021.) |
⊢ (𝐴 = 𝐵 → Slot 𝐴 = Slot 𝐵) | ||
Definition | df-base 15910 | Define the base set (also called underlying set or carrier set) extractor for extensible structures. (Contributed by NM, 4-Sep-2011.) (Revised by Mario Carneiro, 14-Aug-2015.) |
⊢ Base = Slot 1 | ||
Definition | df-sets 15911* | Set a component of an extensible structure. This function is useful for taking an existing structure and "overriding" one of its components. For example, df-ress 15912 adjusts the base set to match its second argument, which has the effect of making subgroups, subspaces, subrings etc. from the original structures. Or df-mgp 18536, which takes a ring and overrides its addition operation with the multiplicative operation, so that we can consider the "multiplicative group" using group and monoid theorems, which expect the operation to be in the +g slot instead of the .r slot. (Contributed by Mario Carneiro, 1-Dec-2014.) |
⊢ sSet = (𝑠 ∈ V, 𝑒 ∈ V ↦ ((𝑠 ↾ (V ∖ dom {𝑒})) ∪ {𝑒})) | ||
Definition | df-ress 15912* |
Define a multifunction restriction operator for extensible structures,
which can be used to turn statements about rings into statements about
subrings, modules into submodules, etc. This definition knows nothing
about individual structures and merely truncates the Base set while
leaving operators alone; individual kinds of structures will need to
handle this behavior, by ignoring operators' values outside the range
(like Ring), defining a function using the base
set and applying
that (like TopGrp), or explicitly truncating the
slot before use
(like MetSp).
(Credit for this operator goes to Mario Carneiro.) See ressbas 15977 for the altered base set, and resslem 15980 (subrg0 18835, ressplusg 16040, subrg1 18838, ressmulr 16053) for the (un)altered other operations. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
⊢ ↾s = (𝑤 ∈ V, 𝑥 ∈ V ↦ if((Base‘𝑤) ⊆ 𝑥, 𝑤, (𝑤 sSet 〈(Base‘ndx), (𝑥 ∩ (Base‘𝑤))〉))) | ||
Theorem | brstruct 15913 | The structure relation is a relation. (Contributed by Mario Carneiro, 29-Aug-2015.) |
⊢ Rel Struct | ||
Theorem | isstruct2 15914 | The property of being a structure with components in (1st ‘𝑋)...(2nd ‘𝑋). (Contributed by Mario Carneiro, 29-Aug-2015.) |
⊢ (𝐹 Struct 𝑋 ↔ (𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋))) | ||
Theorem | structex 15915 | A structure is a set. (Contributed by AV, 10-Nov-2021.) |
⊢ (𝐺 Struct 𝑋 → 𝐺 ∈ V) | ||
Theorem | structn0fun 15916 | A structure witout the empty set is a function. (Contributed by AV, 13-Nov-2021.) |
⊢ (𝐹 Struct 𝑋 → Fun (𝐹 ∖ {∅})) | ||
Theorem | isstruct 15917 | The property of being a structure with components in 𝑀...𝑁. (Contributed by Mario Carneiro, 29-Aug-2015.) |
⊢ (𝐹 Struct 〈𝑀, 𝑁〉 ↔ ((𝑀 ∈ ℕ ∧ 𝑁 ∈ ℕ ∧ 𝑀 ≤ 𝑁) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (𝑀...𝑁))) | ||
Theorem | structcnvcnv 15918 | Two ways to express the relational part of a structure. (Contributed by Mario Carneiro, 29-Aug-2015.) |
⊢ (𝐹 Struct 𝑋 → ◡◡𝐹 = (𝐹 ∖ {∅})) | ||
Theorem | structfung 15919 | The converse of the converse of a structure is a function. Closed form of structfun 15920. (Contributed by AV, 12-Nov-2021.) |
⊢ (𝐹 Struct 𝑋 → Fun ◡◡𝐹) | ||
Theorem | structfun 15920 | Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) (Proof shortened by AV, 12-Nov-2021.) |
⊢ 𝐹 Struct 𝑋 ⇒ ⊢ Fun ◡◡𝐹 | ||
Theorem | structfn 15921 | Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) |
⊢ 𝐹 Struct 〈𝑀, 𝑁〉 ⇒ ⊢ (Fun ◡◡𝐹 ∧ dom 𝐹 ⊆ (1...𝑁)) | ||
Theorem | slotfn 15922 | A slot is a function on sets, treated as structures. (Contributed by Mario Carneiro, 22-Sep-2015.) |
⊢ 𝐸 = Slot 𝑁 ⇒ ⊢ 𝐸 Fn V | ||
Theorem | strfvnd 15923 | Deduction version of strfvn 15926. (Contributed by Mario Carneiro, 15-Nov-2014.) |
⊢ 𝐸 = Slot 𝑁 & ⊢ (𝜑 → 𝑆 ∈ 𝑉) ⇒ ⊢ (𝜑 → (𝐸‘𝑆) = (𝑆‘𝑁)) | ||
Theorem | basfn 15924 | The base set extractor is a function on V. (Contributed by Stefan O'Rear, 8-Jul-2015.) |
⊢ Base Fn V | ||
Theorem | wunndx 15925 | Closure of the index extractor in an infinite weak universe. (Contributed by Mario Carneiro, 12-Jan-2017.) |
⊢ (𝜑 → 𝑈 ∈ WUni) & ⊢ (𝜑 → ω ∈ 𝑈) ⇒ ⊢ (𝜑 → ndx ∈ 𝑈) | ||
Theorem | strfvn 15926 |
Value of a structure component extractor 𝐸. Normally, 𝐸 is a
defined constant symbol such as Base (df-base 15910) and 𝑁 is a
fixed integer such as 1. 𝑆 is a structure, i.e. a
specific
member of a class of structures such as Poset
(df-poset 16993) where
𝑆
∈ Poset.
Note: Normally, this theorem shouldn't be used outside of this section, because it requires hard-coded index values. Instead, use strfv 15954. (Contributed by NM, 9-Sep-2011.) (Revised by Mario Carneiro, 6-Oct-2013.) (New usage is discouraged.) |
⊢ 𝑆 ∈ V & ⊢ 𝐸 = Slot 𝑁 ⇒ ⊢ (𝐸‘𝑆) = (𝑆‘𝑁) | ||
Theorem | strfvss 15927 | A structure component extractor produces a value which is contained in a set dependent on 𝑆, but not 𝐸. This is sometimes useful for showing sethood. (Contributed by Mario Carneiro, 15-Aug-2015.) |
⊢ 𝐸 = Slot 𝑁 ⇒ ⊢ (𝐸‘𝑆) ⊆ ∪ ran 𝑆 | ||
Theorem | wunstr 15928 | Closure of a structure index in a weak universe. (Contributed by Mario Carneiro, 12-Jan-2017.) |
⊢ 𝐸 = Slot 𝑁 & ⊢ (𝜑 → 𝑈 ∈ WUni) & ⊢ (𝜑 → 𝑆 ∈ 𝑈) ⇒ ⊢ (𝜑 → (𝐸‘𝑆) ∈ 𝑈) | ||
Theorem | ndxarg 15929 | Get the numeric argument from a defined structure component extractor such as df-base 15910. (Contributed by Mario Carneiro, 6-Oct-2013.) |
⊢ 𝐸 = Slot 𝑁 & ⊢ 𝑁 ∈ ℕ ⇒ ⊢ (𝐸‘ndx) = 𝑁 | ||
Theorem | ndxid 15930 |
A structure component extractor is defined by its own index. This
theorem, together with strfv 15954 below, is useful for avoiding direct
reference to the hard-coded numeric index in component extractor
definitions, such as the 1 in df-base 15910 and the ;10 in
df-ple 16008, making it easier to change should the need
arise.
For example, we can refer to a specific poset with base set 𝐵 and order relation 𝐿 using {〈(Base‘ndx), 𝐵〉, 〈(le‘ndx), 𝐿〉} rather than {〈1, 𝐵〉, 〈;10, 𝐿〉}. The latter, while shorter to state, requires revision if we later change ;10 to some other number, and it may also be harder to remember. (Contributed by NM, 19-Oct-2012.) (Revised by Mario Carneiro, 6-Oct-2013.) (Proof shortened by BJ, 27-Dec-2021.) |
⊢ 𝐸 = Slot 𝑁 & ⊢ 𝑁 ∈ ℕ ⇒ ⊢ 𝐸 = Slot (𝐸‘ndx) | ||
Theorem | ndxidOLD 15931 | Obsolete proof of ndxid 15930 as of 28-Dec-2021. (Contributed by NM, 19-Oct-2012.) (Revised by Mario Carneiro, 6-Oct-2013.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ 𝐸 = Slot 𝑁 & ⊢ 𝑁 ∈ ℕ ⇒ ⊢ 𝐸 = Slot (𝐸‘ndx) | ||
Theorem | strndxid 15932 | The value of a structure component extractor is the value of the corresponding slot of the structure. (Contributed by AV, 13-Mar-2020.) |
⊢ (𝜑 → 𝑆 ∈ 𝑉) & ⊢ 𝐸 = Slot 𝑁 & ⊢ 𝑁 ∈ ℕ ⇒ ⊢ (𝜑 → (𝑆‘(𝐸‘ndx)) = (𝐸‘𝑆)) | ||
Theorem | reldmsets 15933 | The structure override operator is a proper operator. (Contributed by Stefan O'Rear, 29-Jan-2015.) |
⊢ Rel dom sSet | ||
Theorem | setsvalg 15934 | Value of the structure replacement function. (Contributed by Mario Carneiro, 30-Apr-2015.) |
⊢ ((𝑆 ∈ 𝑉 ∧ 𝐴 ∈ 𝑊) → (𝑆 sSet 𝐴) = ((𝑆 ↾ (V ∖ dom {𝐴})) ∪ {𝐴})) | ||
Theorem | setsval 15935 | Value of the structure replacement function. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
⊢ ((𝑆 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → (𝑆 sSet 〈𝐴, 𝐵〉) = ((𝑆 ↾ (V ∖ {𝐴})) ∪ {〈𝐴, 𝐵〉})) | ||
Theorem | setsidvald 15936 | Value of the structure replacement function, deduction version. (Contributed by AV, 14-Mar-2020.) |
⊢ 𝐸 = Slot 𝑁 & ⊢ 𝑁 ∈ ℕ & ⊢ (𝜑 → 𝑆 ∈ 𝑉) & ⊢ (𝜑 → Fun 𝑆) & ⊢ (𝜑 → (𝐸‘ndx) ∈ dom 𝑆) ⇒ ⊢ (𝜑 → 𝑆 = (𝑆 sSet 〈(𝐸‘ndx), (𝐸‘𝑆)〉)) | ||
Theorem | fvsetsid 15937 | The value of the structure replacement function for its first argument is its second argument. (Contributed by SO, 12-Jul-2018.) |
⊢ ((𝐹 ∈ 𝑉 ∧ 𝑋 ∈ 𝑊 ∧ 𝑌 ∈ 𝑈) → ((𝐹 sSet 〈𝑋, 𝑌〉)‘𝑋) = 𝑌) | ||
Theorem | fsets 15938 | The structure replacement function is a function. (Contributed by SO, 12-Jul-2018.) |
⊢ (((𝐹 ∈ 𝑉 ∧ 𝐹:𝐴⟶𝐵) ∧ 𝑋 ∈ 𝐴 ∧ 𝑌 ∈ 𝐵) → (𝐹 sSet 〈𝑋, 𝑌〉):𝐴⟶𝐵) | ||
Theorem | setsdm 15939 | The domain of a structure with replacement is the domain of the original structure extended by the index of the replacement. (Contributed by AV, 7-Jun-2021.) |
⊢ ((𝐺 ∈ 𝑉 ∧ 𝐸 ∈ 𝑊) → dom (𝐺 sSet 〈𝐼, 𝐸〉) = (dom 𝐺 ∪ {𝐼})) | ||
Theorem | setsfun 15940 | A structure with replacement is a function if the original structure is a function. (Contributed by AV, 7-Jun-2021.) |
⊢ (((𝐺 ∈ 𝑉 ∧ Fun 𝐺) ∧ (𝐼 ∈ 𝑈 ∧ 𝐸 ∈ 𝑊)) → Fun (𝐺 sSet 〈𝐼, 𝐸〉)) | ||
Theorem | setsfun0 15941 | A structure with replacement without the empty set is a function if the original structure without the empty set is a function. This variant of setsfun 15940 is useful for proofs based on isstruct2 15914 which requires Fun (𝐹 ∖ {∅}) for 𝐹 to be an extensible structure. (Contributed by AV, 7-Jun-2021.) |
⊢ (((𝐺 ∈ 𝑉 ∧ Fun (𝐺 ∖ {∅})) ∧ (𝐼 ∈ 𝑈 ∧ 𝐸 ∈ 𝑊)) → Fun ((𝐺 sSet 〈𝐼, 𝐸〉) ∖ {∅})) | ||
Theorem | setsn0fun 15942 | The value of the structure replacement function (without the empty set) is a function if the structure (without the empty set)is a function. (Contributed by AV, 7-Jun-2021.) (Revised by AV, 16-Nov-2021.) |
⊢ (𝜑 → 𝑆 Struct 𝑋) & ⊢ (𝜑 → 𝐼 ∈ 𝑈) & ⊢ (𝜑 → 𝐸 ∈ 𝑊) ⇒ ⊢ (𝜑 → Fun ((𝑆 sSet 〈𝐼, 𝐸〉) ∖ {∅})) | ||
Theorem | setsstruct2 15943 | An extensible structure with a replaced slot is an extensible structure. (Contributed by AV, 14-Nov-2021.) |
⊢ (((𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ) ∧ 𝑌 = 〈if(𝐼 ≤ (1st ‘𝑋), 𝐼, (1st ‘𝑋)), if(𝐼 ≤ (2nd ‘𝑋), (2nd ‘𝑋), 𝐼)〉) → (𝐺 sSet 〈𝐼, 𝐸〉) Struct 𝑌) | ||
Theorem | setsexstruct2 15944* | An extensible structure with a replaced slot is an extensible structure. (Contributed by AV, 14-Nov-2021.) |
⊢ ((𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ) → ∃𝑦(𝐺 sSet 〈𝐼, 𝐸〉) Struct 𝑦) | ||
Theorem | setsstruct 15945 | An extensible structure with a replaced slot is an extensible structure. (Contributed by AV, 9-Jun-2021.) (Revised by AV, 14-Nov-2021.) |
⊢ ((𝐸 ∈ 𝑉 ∧ 𝐼 ∈ (ℤ≥‘𝑀) ∧ 𝐺 Struct 〈𝑀, 𝑁〉) → (𝐺 sSet 〈𝐼, 𝐸〉) Struct 〈𝑀, if(𝐼 ≤ 𝑁, 𝑁, 𝐼)〉) | ||
Theorem | setsstructOLD 15946 | Obsolete version of setsstruct 15945 as of 14-Nov-2021. (Contributed by AV, 9-Jun-2021.) (New usage is discouraged.) (Proof modification is discouraged.) |
⊢ ((𝐺 ∈ 𝑈 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ (ℤ≥‘𝑀)) → (𝐺 Struct 〈𝑀, 𝑁〉 → (𝐺 sSet 〈𝐼, 𝐸〉) Struct 〈𝑀, if(𝐼 ≤ 𝑁, 𝑁, 𝐼)〉)) | ||
Theorem | wunsets 15947 | Closure of structure replacement in a weak universe. (Contributed by Mario Carneiro, 12-Jan-2017.) |
⊢ (𝜑 → 𝑈 ∈ WUni) & ⊢ (𝜑 → 𝑆 ∈ 𝑈) & ⊢ (𝜑 → 𝐴 ∈ 𝑈) ⇒ ⊢ (𝜑 → (𝑆 sSet 𝐴) ∈ 𝑈) | ||
Theorem | setsres 15948 | The structure replacement function does not affect the value of 𝑆 away from 𝐴. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
⊢ (𝑆 ∈ 𝑉 → ((𝑆 sSet 〈𝐴, 𝐵〉) ↾ (V ∖ {𝐴})) = (𝑆 ↾ (V ∖ {𝐴}))) | ||
Theorem | setsabs 15949 | Replacing the same components twice yields the same as the second setting only. (Contributed by Mario Carneiro, 2-Dec-2014.) |
⊢ ((𝑆 ∈ 𝑉 ∧ 𝐶 ∈ 𝑊) → ((𝑆 sSet 〈𝐴, 𝐵〉) sSet 〈𝐴, 𝐶〉) = (𝑆 sSet 〈𝐴, 𝐶〉)) | ||
Theorem | setscom 15950 | Component-setting is commutative when the x-values are different. (Contributed by Mario Carneiro, 5-Dec-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
⊢ 𝐴 ∈ V & ⊢ 𝐵 ∈ V ⇒ ⊢ (((𝑆 ∈ 𝑉 ∧ 𝐴 ≠ 𝐵) ∧ (𝐶 ∈ 𝑊 ∧ 𝐷 ∈ 𝑋)) → ((𝑆 sSet 〈𝐴, 𝐶〉) sSet 〈𝐵, 𝐷〉) = ((𝑆 sSet 〈𝐵, 𝐷〉) sSet 〈𝐴, 𝐶〉)) | ||
Theorem | strfvd 15951 | Deduction version of strfv 15954. (Contributed by Mario Carneiro, 15-Nov-2014.) |
⊢ 𝐸 = Slot (𝐸‘ndx) & ⊢ (𝜑 → 𝑆 ∈ 𝑉) & ⊢ (𝜑 → Fun 𝑆) & ⊢ (𝜑 → 〈(𝐸‘ndx), 𝐶〉 ∈ 𝑆) ⇒ ⊢ (𝜑 → 𝐶 = (𝐸‘𝑆)) | ||
Theorem | strfv2d 15952 | Deduction version of strfv 15954. (Contributed by Mario Carneiro, 30-Apr-2015.) |
⊢ 𝐸 = Slot (𝐸‘ndx) & ⊢ (𝜑 → 𝑆 ∈ 𝑉) & ⊢ (𝜑 → Fun ◡◡𝑆) & ⊢ (𝜑 → 〈(𝐸‘ndx), 𝐶〉 ∈ 𝑆) & ⊢ (𝜑 → 𝐶 ∈ 𝑊) ⇒ ⊢ (𝜑 → 𝐶 = (𝐸‘𝑆)) | ||
Theorem | strfv2 15953 | A variation on strfv 15954 to avoid asserting that 𝑆 itself is a function, which involves sethood of all the ordered pair components of 𝑆. (Contributed by Mario Carneiro, 30-Apr-2015.) |
⊢ 𝑆 ∈ V & ⊢ Fun ◡◡𝑆 & ⊢ 𝐸 = Slot (𝐸‘ndx) & ⊢ 〈(𝐸‘ndx), 𝐶〉 ∈ 𝑆 ⇒ ⊢ (𝐶 ∈ 𝑉 → 𝐶 = (𝐸‘𝑆)) | ||
Theorem | strfv 15954 | Extract a structure component 𝐶 (such as the base set) from a structure 𝑆 (such as a member of Poset, df-poset 16993) with a component extractor 𝐸 (such as the base set extractor df-base 15910). By virtue of ndxid 15930, this can be done without having to refer to the hard-coded numeric index of 𝐸. (Contributed by Mario Carneiro, 6-Oct-2013.) (Revised by Mario Carneiro, 29-Aug-2015.) |
⊢ 𝑆 Struct 𝑋 & ⊢ 𝐸 = Slot (𝐸‘ndx) & ⊢ {〈(𝐸‘ndx), 𝐶〉} ⊆ 𝑆 ⇒ ⊢ (𝐶 ∈ 𝑉 → 𝐶 = (𝐸‘𝑆)) | ||
Theorem | strfv3 15955 | Variant on strfv 15954 for large structures. (Contributed by Mario Carneiro, 10-Jan-2017.) |
⊢ (𝜑 → 𝑈 = 𝑆) & ⊢ 𝑆 Struct 𝑋 & ⊢ 𝐸 = Slot (𝐸‘ndx) & ⊢ {〈(𝐸‘ndx), 𝐶〉} ⊆ 𝑆 & ⊢ (𝜑 → 𝐶 ∈ 𝑉) & ⊢ 𝐴 = (𝐸‘𝑈) ⇒ ⊢ (𝜑 → 𝐴 = 𝐶) | ||
Theorem | strssd 15956 | Deduction version of strss 15957. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
⊢ 𝐸 = Slot (𝐸‘ndx) & ⊢ (𝜑 → 𝑇 ∈ 𝑉) & ⊢ (𝜑 → Fun 𝑇) & ⊢ (𝜑 → 𝑆 ⊆ 𝑇) & ⊢ (𝜑 → 〈(𝐸‘ndx), 𝐶〉 ∈ 𝑆) ⇒ ⊢ (𝜑 → (𝐸‘𝑇) = (𝐸‘𝑆)) | ||
Theorem | strss 15957 | Propagate component extraction to a structure 𝑇 from a subset structure 𝑆. (Contributed by Mario Carneiro, 11-Oct-2013.) (Revised by Mario Carneiro, 15-Jan-2014.) |
⊢ 𝑇 ∈ V & ⊢ Fun 𝑇 & ⊢ 𝑆 ⊆ 𝑇 & ⊢ 𝐸 = Slot (𝐸‘ndx) & ⊢ 〈(𝐸‘ndx), 𝐶〉 ∈ 𝑆 ⇒ ⊢ (𝐸‘𝑇) = (𝐸‘𝑆) | ||
Theorem | str0 15958 | All components of the empty set are empty sets. (Contributed by Stefan O'Rear, 27-Nov-2014.) (Revised by Mario Carneiro, 7-Dec-2014.) |
⊢ 𝐹 = Slot 𝐼 ⇒ ⊢ ∅ = (𝐹‘∅) | ||
Theorem | base0 15959 | The base set of the empty structure. (Contributed by David A. Wheeler, 7-Jul-2016.) |
⊢ ∅ = (Base‘∅) | ||
Theorem | strfvi 15960 | Structure slot extractors cannot distinguish between proper classes and ∅, so they can be protected using the identity function. (Contributed by Stefan O'Rear, 21-Mar-2015.) |
⊢ 𝐸 = Slot 𝑁 & ⊢ 𝑋 = (𝐸‘𝑆) ⇒ ⊢ 𝑋 = (𝐸‘( I ‘𝑆)) | ||
Theorem | setsid 15961 | Value of the structure replacement function at a replaced index. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
⊢ 𝐸 = Slot (𝐸‘ndx) ⇒ ⊢ ((𝑊 ∈ 𝐴 ∧ 𝐶 ∈ 𝑉) → 𝐶 = (𝐸‘(𝑊 sSet 〈(𝐸‘ndx), 𝐶〉))) | ||
Theorem | setsnid 15962 | Value of the structure replacement function at an untouched index. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
⊢ 𝐸 = Slot (𝐸‘ndx) & ⊢ (𝐸‘ndx) ≠ 𝐷 ⇒ ⊢ (𝐸‘𝑊) = (𝐸‘(𝑊 sSet 〈𝐷, 𝐶〉)) | ||
Theorem | sbcie2s 15963* | A special version of class substitution commonly used for structures. (Contributed by Thierry Arnoux, 14-Mar-2019.) |
⊢ 𝐴 = (𝐸‘𝑊) & ⊢ 𝐵 = (𝐹‘𝑊) & ⊢ ((𝑎 = 𝐴 ∧ 𝑏 = 𝐵) → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝑤 = 𝑊 → ([(𝐸‘𝑤) / 𝑎][(𝐹‘𝑤) / 𝑏]𝜓 ↔ 𝜑)) | ||
Theorem | sbcie3s 15964* | A special version of class substitution commonly used for structures. (Contributed by Thierry Arnoux, 15-Mar-2019.) |
⊢ 𝐴 = (𝐸‘𝑊) & ⊢ 𝐵 = (𝐹‘𝑊) & ⊢ 𝐶 = (𝐺‘𝑊) & ⊢ ((𝑎 = 𝐴 ∧ 𝑏 = 𝐵 ∧ 𝑐 = 𝐶) → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝑤 = 𝑊 → ([(𝐸‘𝑤) / 𝑎][(𝐹‘𝑤) / 𝑏][(𝐺‘𝑤) / 𝑐]𝜓 ↔ 𝜑)) | ||
Theorem | baseval 15965 | Value of the base set extractor. (Normally it is preferred to work with (Base‘ndx) rather than the hard-coded 1 in order to make structure theorems portable. This is an example of how to obtain it when needed.) (New usage is discouraged.) (Contributed by NM, 4-Sep-2011.) |
⊢ 𝐾 ∈ V ⇒ ⊢ (Base‘𝐾) = (𝐾‘1) | ||
Theorem | baseid 15966 | Utility theorem: index-independent form of df-base 15910. (Contributed by NM, 20-Oct-2012.) |
⊢ Base = Slot (Base‘ndx) | ||
Theorem | elbasfv 15967 | Utility theorem: reverse closure for any structure defined as a function. (Contributed by Stefan O'Rear, 24-Aug-2015.) |
⊢ 𝑆 = (𝐹‘𝑍) & ⊢ 𝐵 = (Base‘𝑆) ⇒ ⊢ (𝑋 ∈ 𝐵 → 𝑍 ∈ V) | ||
Theorem | elbasov 15968 | Utility theorem: reverse closure for any structure defined as a two-argument function. (Contributed by Mario Carneiro, 3-Oct-2015.) |
⊢ Rel dom 𝑂 & ⊢ 𝑆 = (𝑋𝑂𝑌) & ⊢ 𝐵 = (Base‘𝑆) ⇒ ⊢ (𝐴 ∈ 𝐵 → (𝑋 ∈ V ∧ 𝑌 ∈ V)) | ||
Theorem | strov2rcl 15969 | Partial reverse closure for any structure defined as a two-argument function. (Contributed by Stefan O'Rear, 27-Mar-2015.) (Proof shortened by AV, 2-Dec-2019.) |
⊢ 𝑆 = (𝐼𝐹𝑅) & ⊢ 𝐵 = (Base‘𝑆) & ⊢ Rel dom 𝐹 ⇒ ⊢ (𝑋 ∈ 𝐵 → 𝐼 ∈ V) | ||
Theorem | basendx 15970 | Index value of the base set extractor. (Normally it is preferred to work with (Base‘ndx) rather than the hard-coded 1 in order to make structure theorems portable. This is an example of how to obtain it when needed.) (New usage is discouraged.) (Contributed by Mario Carneiro, 2-Aug-2013.) |
⊢ (Base‘ndx) = 1 | ||
Theorem | basendxnn 15971 | The index value of the base set extractor is a positive integer. This property should be ensured for every concrete coding because otherwise it could not be used in an extensible structure (slots must be positive integers). (Contributed by AV, 23-Sep-2020.) |
⊢ (Base‘ndx) ∈ ℕ | ||
Theorem | basprssdmsets 15972 | The pair of the base index and another index is a subset of the domain of the structure obtained by replacing/adding a slot at the other index in a structure having a base slot. (Contributed by AV, 7-Jun-2021.) (Revised by AV, 16-Nov-2021.) |
⊢ (𝜑 → 𝑆 Struct 𝑋) & ⊢ (𝜑 → 𝐼 ∈ 𝑈) & ⊢ (𝜑 → 𝐸 ∈ 𝑊) & ⊢ (𝜑 → (Base‘ndx) ∈ dom 𝑆) ⇒ ⊢ (𝜑 → {(Base‘ndx), 𝐼} ⊆ dom (𝑆 sSet 〈𝐼, 𝐸〉)) | ||
Theorem | reldmress 15973 | The structure restriction is a proper operator, so it can be used with ovprc1 6724. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
⊢ Rel dom ↾s | ||
Theorem | ressval 15974 | Value of structure restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
⊢ 𝑅 = (𝑊 ↾s 𝐴) & ⊢ 𝐵 = (Base‘𝑊) ⇒ ⊢ ((𝑊 ∈ 𝑋 ∧ 𝐴 ∈ 𝑌) → 𝑅 = if(𝐵 ⊆ 𝐴, 𝑊, (𝑊 sSet 〈(Base‘ndx), (𝐴 ∩ 𝐵)〉))) | ||
Theorem | ressid2 15975 | General behavior of trivial restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
⊢ 𝑅 = (𝑊 ↾s 𝐴) & ⊢ 𝐵 = (Base‘𝑊) ⇒ ⊢ ((𝐵 ⊆ 𝐴 ∧ 𝑊 ∈ 𝑋 ∧ 𝐴 ∈ 𝑌) → 𝑅 = 𝑊) | ||
Theorem | ressval2 15976 | Value of nontrivial structure restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
⊢ 𝑅 = (𝑊 ↾s 𝐴) & ⊢ 𝐵 = (Base‘𝑊) ⇒ ⊢ ((¬ 𝐵 ⊆ 𝐴 ∧ 𝑊 ∈ 𝑋 ∧ 𝐴 ∈ 𝑌) → 𝑅 = (𝑊 sSet 〈(Base‘ndx), (𝐴 ∩ 𝐵)〉)) | ||
Theorem | ressbas 15977 | Base set of a structure restriction. (Contributed by Stefan O'Rear, 26-Nov-2014.) |
⊢ 𝑅 = (𝑊 ↾s 𝐴) & ⊢ 𝐵 = (Base‘𝑊) ⇒ ⊢ (𝐴 ∈ 𝑉 → (𝐴 ∩ 𝐵) = (Base‘𝑅)) | ||
Theorem | ressbas2 15978 | Base set of a structure restriction. (Contributed by Mario Carneiro, 2-Dec-2014.) |
⊢ 𝑅 = (𝑊 ↾s 𝐴) & ⊢ 𝐵 = (Base‘𝑊) ⇒ ⊢ (𝐴 ⊆ 𝐵 → 𝐴 = (Base‘𝑅)) | ||
Theorem | ressbasss 15979 | The base set of a restriction is a subset of the base set of the original structure. (Contributed by Stefan O'Rear, 27-Nov-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
⊢ 𝑅 = (𝑊 ↾s 𝐴) & ⊢ 𝐵 = (Base‘𝑊) ⇒ ⊢ (Base‘𝑅) ⊆ 𝐵 | ||
Theorem | resslem 15980 | Other elements of a structure restriction. (Contributed by Mario Carneiro, 26-Nov-2014.) (Revised by Mario Carneiro, 2-Dec-2014.) |
⊢ 𝑅 = (𝑊 ↾s 𝐴) & ⊢ 𝐶 = (𝐸‘𝑊) & ⊢ 𝐸 = Slot 𝑁 & ⊢ 𝑁 ∈ ℕ & ⊢ 1 < 𝑁 ⇒ ⊢ (𝐴 ∈ 𝑉 → 𝐶 = (𝐸‘𝑅)) | ||
Theorem | ress0 15981 | All restrictions of the null set are trivial. (Contributed by Stefan O'Rear, 29-Nov-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
⊢ (∅ ↾s 𝐴) = ∅ | ||
Theorem | ressid 15982 | Behavior of trivial restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
⊢ 𝐵 = (Base‘𝑊) ⇒ ⊢ (𝑊 ∈ 𝑋 → (𝑊 ↾s 𝐵) = 𝑊) | ||
Theorem | ressinbas 15983 | Restriction only cares about the part of the second set which intersects the base of the first. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
⊢ 𝐵 = (Base‘𝑊) ⇒ ⊢ (𝐴 ∈ 𝑋 → (𝑊 ↾s 𝐴) = (𝑊 ↾s (𝐴 ∩ 𝐵))) | ||
Theorem | ressval3d 15984 | Value of structure restriction, deduction version. (Contributed by AV, 14-Mar-2020.) |
⊢ 𝑅 = (𝑆 ↾s 𝐴) & ⊢ 𝐵 = (Base‘𝑆) & ⊢ 𝐸 = (Base‘ndx) & ⊢ (𝜑 → 𝑆 ∈ 𝑉) & ⊢ (𝜑 → Fun 𝑆) & ⊢ (𝜑 → 𝐸 ∈ dom 𝑆) & ⊢ (𝜑 → 𝐴 ∈ 𝑌) & ⊢ (𝜑 → 𝐴 ⊆ 𝐵) ⇒ ⊢ (𝜑 → 𝑅 = (𝑆 sSet 〈𝐸, 𝐴〉)) | ||
Theorem | ressress 15985 | Restriction composition law. (Contributed by Stefan O'Rear, 29-Nov-2014.) (Proof shortened by Mario Carneiro, 2-Dec-2014.) |
⊢ ((𝐴 ∈ 𝑋 ∧ 𝐵 ∈ 𝑌) → ((𝑊 ↾s 𝐴) ↾s 𝐵) = (𝑊 ↾s (𝐴 ∩ 𝐵))) | ||
Theorem | ressabs 15986 | Restriction absorption law. (Contributed by Mario Carneiro, 12-Jun-2015.) |
⊢ ((𝐴 ∈ 𝑋 ∧ 𝐵 ⊆ 𝐴) → ((𝑊 ↾s 𝐴) ↾s 𝐵) = (𝑊 ↾s 𝐵)) | ||
Theorem | wunress 15987 | Closure of structure restriction in a weak universe. (Contributed by Mario Carneiro, 12-Jan-2017.) |
⊢ (𝜑 → 𝑈 ∈ WUni) & ⊢ (𝜑 → ω ∈ 𝑈) & ⊢ (𝜑 → 𝑊 ∈ 𝑈) ⇒ ⊢ (𝜑 → (𝑊 ↾s 𝐴) ∈ 𝑈) | ||
Syntax | cplusg 15988 | Extend class notation with group (addition) operation. |
class +g | ||
Syntax | cmulr 15989 | Extend class notation with ring multiplication. |
class .r | ||
Syntax | cstv 15990 | Extend class notation with involution. |
class *𝑟 | ||
Syntax | csca 15991 | Extend class notation with scalar field. |
class Scalar | ||
Syntax | cvsca 15992 | Extend class notation with scalar product. |
class ·𝑠 | ||
Syntax | cip 15993 | Extend class notation with Hermitian form (inner product). |
class ·𝑖 | ||
Syntax | cts 15994 | Extend class notation with the topology component of a topological space. |
class TopSet | ||
Syntax | cple 15995 | Extend class notation with less-than-or-equal for posets. |
class le | ||
Syntax | coc 15996 | Extend class notation with the class of orthocomplementation extractors. |
class oc | ||
Syntax | cds 15997 | Extend class notation with the metric space distance function. |
class dist | ||
Syntax | cunif 15998 | Extend class notation with the uniform structure. |
class UnifSet | ||
Syntax | chom 15999 | Extend class notation with the hom-set structure. |
class Hom | ||
Syntax | cco 16000 | Extend class notation with the composition operation. |
class comp |
< Previous Next > |
Copyright terms: Public domain | < Previous Next > |