@@ -190,11 +190,13 @@ instance : has_le cardinal.{u} :=
190190⟨λ q₁ q₂, quotient.lift_on₂ q₁ q₂ (λ α β, nonempty $ α ↪ β) $
191191 λ α β γ δ ⟨e₁⟩ ⟨e₂⟩, propext ⟨λ ⟨e⟩, ⟨e.congr e₁ e₂⟩, λ ⟨e⟩, ⟨e.congr e₁.symm e₂.symm⟩⟩⟩
192192
193- instance : partial_order cardinal.{u} :=
194- { le := (≤),
195- le_refl := by rintros ⟨α⟩; exact ⟨embedding.refl _⟩,
196- le_trans := by rintros ⟨α⟩ ⟨β⟩ ⟨γ⟩ ⟨e₁⟩ ⟨e₂⟩; exact ⟨e₁.trans e₂⟩,
197- le_antisymm := by { rintros ⟨α⟩ ⟨β⟩ ⟨e₁⟩ ⟨e₂⟩, exact quotient.sound (e₁.antisymm e₂) } }
193+ instance : linear_order cardinal.{u} :=
194+ { le := (≤),
195+ le_refl := by rintros ⟨α⟩; exact ⟨embedding.refl _⟩,
196+ le_trans := by rintros ⟨α⟩ ⟨β⟩ ⟨γ⟩ ⟨e₁⟩ ⟨e₂⟩; exact ⟨e₁.trans e₂⟩,
197+ le_antisymm := by { rintros ⟨α⟩ ⟨β⟩ ⟨e₁⟩ ⟨e₂⟩, exact quotient.sound (e₁.antisymm e₂) },
198+ le_total := by { rintros ⟨α⟩ ⟨β⟩, apply embedding.total },
199+ decidable_le := classical.dec_rel _ }
198200
199201theorem le_def (α β : Type u) : #α ≤ #β ↔ nonempty (α ↪ β) :=
200202iff.rfl
@@ -472,7 +474,17 @@ instance : canonically_ordered_comm_semiring cardinal.{u} :=
472474 le_self_add := λ a b, (add_zero a).ge.trans $ add_le_add_left (cardinal.zero_le _) _,
473475 eq_zero_or_eq_zero_of_mul_eq_zero := λ a b, induction_on₂ a b $ λ α β,
474476 by simpa only [mul_def, mk_eq_zero_iff, is_empty_prod] using id,
475- ..cardinal.comm_semiring, ..cardinal.partial_order }
477+ ..cardinal.comm_semiring, ..cardinal.linear_order }
478+
479+ instance : canonically_linear_ordered_add_monoid cardinal.{u} :=
480+ { ..cardinal.canonically_ordered_comm_semiring,
481+ ..cardinal.linear_order }
482+
483+ instance : linear_ordered_comm_monoid_with_zero cardinal.{u} :=
484+ { mul_le_mul_left := @mul_le_mul_left' _ _ _ _,
485+ zero_le_one := zero_le _,
486+ ..cardinal.comm_semiring,
487+ ..cardinal.linear_order }
476488
477489lemma zero_power_le (c : cardinal.{u}) : (0 : cardinal.{u}) ^ c ≤ 1 :=
478490by { by_cases h : c = 0 , rw [h, power_zero], rw [zero_power h], apply zero_le }
@@ -500,13 +512,7 @@ begin
500512end
501513
502514instance : no_max_order cardinal.{u} :=
503- { exists_gt := λ a, ⟨_, cantor a⟩, ..cardinal.partial_order }
504-
505- instance : canonically_linear_ordered_add_monoid cardinal.{u} :=
506- { le_total := by { rintros ⟨α⟩ ⟨β⟩, apply embedding.total },
507- decidable_le := classical.dec_rel _,
508- ..(infer_instance : canonically_ordered_add_monoid cardinal),
509- ..cardinal.partial_order }
515+ { exists_gt := λ a, ⟨_, cantor a⟩ }
510516
511517-- short-circuit type class inference
512518instance : distrib_lattice cardinal.{u} := by apply_instance
@@ -541,7 +547,6 @@ protected theorem lt_wf : @well_founded cardinal.{u} (<) :=
541547end ⟩
542548
543549instance : has_well_founded cardinal.{u} := ⟨(<), cardinal.lt_wf⟩
544- instance : well_founded_lt cardinal.{u} := ⟨cardinal.lt_wf⟩
545550instance wo : @is_well_order cardinal.{u} (<) := { }
546551
547552instance : conditionally_complete_linear_order_bot cardinal :=
0 commit comments