src/HOL/Cardinals/README.txt
changeset 55056 b5c94200d081
parent 55027 a74ea6d75571
child 55063 6207fd64519b
equal deleted inserted replaced
55055:3f0dfce0e27a 55056:b5c94200d081
    65      of cardinal and the numeric one previously defined for
    65      of cardinal and the numeric one previously defined for
    66      finite sets (operator "card").  On the way, one introduces the cardinal omega
    66      finite sets (operator "card").  On the way, one introduces the cardinal omega
    67      (natLeq) and the finite cardinals (natLeq_on n).
    67      (natLeq) and the finite cardinals (natLeq_on n).
    68 ---- 6) Defines and proves the existence of successor cardinals.  
    68 ---- 6) Defines and proves the existence of successor cardinals.  
    69 
    69 
    70 -- Cardinal_Arithmetic
    70 -- BNF_Cardinal_Arithmetic
    71 
    71 
    72 
    72 
    73 Here is a list of names of proved facts concerning cardinalities that are 
    73 Here is a list of names of proved facts concerning cardinalities that are 
    74 expressed independently of notions of order, and of potential interest 
    74 expressed independently of notions of order, and of potential interest 
    75 for "working mathematicians":
    75 for "working mathematicians":
    87 
    87 
    88 
    88 
    89 Minor technicalities and naming issues:
    89 Minor technicalities and naming issues:
    90 ---------------------------------------
    90 ---------------------------------------
    91 
    91 
    92 1. Most of the definitions and theorems are proved in files suffixed with "_FP".
    92 1. Most of the definitions and theorems are proved in files prefixed with "BNF_".
    93 Bootstrapping considerations (for the (co)datatype package) made this division
    93 Bootstrapping considerations (for the (co)datatype package) made this division
    94 desirable.
    94 desirable.
    95 
    95 
    96 
    96 
    97 2. Even though we would have preferred to use "initial segment" instead of
    97 2. Even though we would have preferred to use "initial segment" instead of
   180    abbreviation "Partial_order r ≡ partial_order_on (Field r) r"
   180    abbreviation "Partial_order r ≡ partial_order_on (Field r) r"
   181    abbreviation "Total r ≡ total_on (Field r) r"
   181    abbreviation "Total r ≡ total_on (Field r) r"
   182    abbreviation "Linear_order r ≡ linear_order_on (Field r) r"
   182    abbreviation "Linear_order r ≡ linear_order_on (Field r) r"
   183    abbreviation "Well_order r ≡ well_order_on (Field r) r"
   183    abbreviation "Well_order r ≡ well_order_on (Field r) r"
   184 
   184 
   185 Theory Wellorder_Relation (and Wellorder_Relation_FP):
   185 Theory Wellorder_Relation (and BNF_Wellorder_Relation):
   186 - In subsection "Auxiliaries": recall lemmas "order_on_defs"
   186 - In subsection "Auxiliaries": recall lemmas "order_on_defs"
   187 - In subsection "The notions of maximum, minimum, supremum, successor and order filter": 
   187 - In subsection "The notions of maximum, minimum, supremum, successor and order filter": 
   188   Should we define all constants from "wo_rel" in "rel" instead, 
   188   Should we define all constants from "wo_rel" in "rel" instead, 
   189   so that their outside definition not be conditional in "wo_rel r"? 
   189   so that their outside definition not be conditional in "wo_rel r"? 
   190 
   190 
   191 Theory Wellfounded_More:
   191 Theory Wellfounded_More:
   192   Recall the lemmas "wfrec" and "wf_induct". 
   192   Recall the lemmas "wfrec" and "wf_induct". 
   193 
   193 
   194 Theory Wellorder_Embedding (and Wellorder_Embedding_FP):
   194 Theory Wellorder_Embedding (and BNF_Wellorder_Embedding):
   195 - Recall "inj_on_def" and "bij_betw_def". 
   195 - Recall "inj_on_def" and "bij_betw_def". 
   196 - Line 5 in the proof of lemma embed_in_Field: we have to figure out for this and many other 
   196 - Line 5 in the proof of lemma embed_in_Field: we have to figure out for this and many other 
   197   situations:  Why did it work without annotations to Refl_under_in?
   197   situations:  Why did it work without annotations to Refl_under_in?
   198 - At the proof of theorem "wellorders_totally_ordered" (and, similarly, elsewhere): 
   198 - At the proof of theorem "wellorders_totally_ordered" (and, similarly, elsewhere): 
   199   Had we used metavariables instead of local definitions for H, f, g and test, the 
   199   Had we used metavariables instead of local definitions for H, f, g and test, the 
   200   goals (in the goal window) would have become unreadable, 
   200   goals (in the goal window) would have become unreadable, 
   201   making impossible to debug theorem instantiations.  
   201   making impossible to debug theorem instantiations.  
   202 - At lemma "embed_unique": If we add the attribute "rule format" at lemma, we get an error at qed.
   202 - At lemma "embed_unique": If we add the attribute "rule format" at lemma, we get an error at qed.
   203 
   203 
   204 Theory Constructions_on_Wellorders (and Constructions_on_Wellorders_FP):
   204 Theory Constructions_on_Wellorders (and BNF_Constructions_on_Wellorders):
   205 - Some of the lemmas in this section are about more general kinds of relations than 
   205 - Some of the lemmas in this section are about more general kinds of relations than 
   206   well-orders, but it is not clear whether they are useful in such more general contexts.
   206   well-orders, but it is not clear whether they are useful in such more general contexts.
   207 - Recall that "equiv" does not have the "equiv_on" and "Equiv" versions, 
   207 - Recall that "equiv" does not have the "equiv_on" and "Equiv" versions, 
   208  like the order relation. "equiv" corresponds, for instance, to "well_order_on". 
   208  like the order relation. "equiv" corresponds, for instance, to "well_order_on". 
   209 - The lemmas "ord_trans" are not clearly useful together, as their employment within blast or auto 
   209 - The lemmas "ord_trans" are not clearly useful together, as their employment within blast or auto 
   210 tends to diverge.  
   210 tends to diverge.  
   211 
   211 
   212 Theory Cardinal_Order_Relation (and Cardinal_Order_Relation_FP):
   212 Theory Cardinal_Order_Relation (and BNF_Cardinal_Order_Relation):
   213 - Careful: if "|..|" meets an outer parehthesis, an extra space needs to be inserted, as in
   213 - Careful: if "|..|" meets an outer parehthesis, an extra space needs to be inserted, as in
   214   "( |A| )". 
   214   "( |A| )". 
   215 - At lemma like ordLeq_Sigma_mono1: Not worth stating something like ordLeq_Sigma_mono2 -- 
   215 - At lemma like ordLeq_Sigma_mono1: Not worth stating something like ordLeq_Sigma_mono2 -- 
   216   would be a mere instance of card_of_Sigma_mono2.  
   216   would be a mere instance of card_of_Sigma_mono2.  
   217 - At lemma ordLeq_Sigma_cong2: Again, no reason for stating something like ordLeq_Sigma_cong2.  
   217 - At lemma ordLeq_Sigma_cong2: Again, no reason for stating something like ordLeq_Sigma_cong2.