diff --git a/src/SI/SI_Units.thy b/src/SI/SI_Units.thy index c16571b..95017d9 100644 --- a/src/SI/SI_Units.thy +++ b/src/SI/SI_Units.thy @@ -4,7 +4,7 @@ theory SI_Units imports SI_Dimensions begin -section \ The semantic SI-\<^theory_text>\Unit\-Type and its Operations \ +section \ The Semantic SI-Unit-Type and its Operations \ record 'a Unit = mag :: 'a \ \ Magnitude of the unit \ @@ -94,7 +94,7 @@ end instance Unit_ext :: (order, order) order by (intro_classes, auto simp add: less_Unit_ext_def less_eq_Unit_ext_def) -section \ The abstract SI-\<^theory_text>\Unit\-type and its Operations \ +section \ The Abstract SI-\<^theory_text>\Unit\-Type and its Operations \ text\We 'lift' SI type expressions to SI unit type expressions as follows:\ @@ -111,17 +111,22 @@ definition coerceUnit :: "'u\<^sub>2 itself \ 'a['u\<^sub>1::dim_typ subsection\Predicates on Abstract SI-\<^theory_text>\Unit\-types\ -text \ Two SI Unit types are equivalent if they have the same dimensions - (not necessarily dimension types). This is the whole point of the construction. \ +text \ Two SI Unit types are orderable if their magnitude type is of class @{class "order"}, + and have the same dimensions (not necessarily dimension types).\ lift_definition qless_eq :: "'n::order['a::dim_type] \ 'n['b::dim_type] \ bool" (infix "\\<^sub>Q" 50) is "(\)" . -lift_definition qequiv :: + +text\ Two SI Unit types are equivalent if they have the same dimensions + (not necessarily dimension types). This equivalence the a vital point + of the overall construction of SI Units. \ + +lift_definition qequiv :: "'n['a::dim_type] \ 'n['b::dim_type] \ bool" (infix "\\<^sub>Q" 50) is "(=)" . -subsection\The Equivalence on Abstract SI-\<^theory_text>\Unit\-types\ -text\This gives us an equivalence, but, unfortunately, not a congruence.\ +subsection\The Equivalence on Abstract SI-\<^theory_text>\Unit\-Types\ +text\The latter predicate gives us an equivalence, but, unfortunately, not a congruence.\ lemma qequiv_refl [simp]: "a \\<^sub>Q a" by (simp add: qequiv_def) @@ -167,7 +172,7 @@ lemma qeq: shows "SI('u\<^sub>1) = SI('u\<^sub>2::dim_type)" by (metis (full_types) qequiv.rep_eq assms fromQ mem_Collect_eq) -subsection\Operations on Abstract Unit types\ +subsection\Operations on Abstract SI-Unit-Types\ lift_definition qtimes :: "('n::comm_ring_1)['a::dim_type] \ 'n['b::dim_type] \ 'n['a \'b]" (infixl "\<^bold>\" 69) is "(*)" diff --git a/src/SI/document/root.tex b/src/SI/document/root.tex index 81d2323..8d99481 100644 --- a/src/SI/document/root.tex +++ b/src/SI/document/root.tex @@ -69,7 +69,7 @@ others, like the British Imperial System (BIS). \parindent 0pt\parskip 0.5ex -\chapter{Introduction to SI Units in Isabelle} +\chapter{SI Units in Isabelle \\ An Introduction} The International System of Units (SI, abbreviated from the French Système international (d'unités)) is the modern form of the metric