@@ -1513,35 +1513,8 @@ quotient.induction_on₂ s t $ λ l₁ l₂,
1513
1513
show ↑(l₁.diff l₂) = foldl erase erase_comm ↑l₁ ↑l₂,
1514
1514
by { rw diff_eq_foldl l₁ l₂, symmetry, exact foldl_hom _ _ _ _ _ (λ x y, rfl) }
1515
1515
1516
- theorem add_sub_of_le (h : s ≤ t) : s + (t - s) = t :=
1517
- add_sub_cancel_of_le h
1518
-
1519
- theorem sub_add' : s - (t + u) = s - t - u :=
1520
- sub_add_eq_sub_sub'
1521
-
1522
- theorem sub_add_cancel (h : t ≤ s) : s - t + t = s :=
1523
- sub_add_cancel_of_le h
1524
-
1525
- @[simp] theorem add_sub_cancel_left (s : multiset α) : ∀ t, s + t - s = t :=
1526
- add_sub_cancel_left s
1527
-
1528
- @[simp] theorem add_sub_cancel (s t : multiset α) : s + t - t = s :=
1529
- add_sub_cancel_right s t
1530
-
1531
- theorem sub_le_sub_right (h : s ≤ t) (u) : s - u ≤ t - u :=
1532
- sub_le_sub_right' h u
1533
-
1534
- theorem sub_le_sub_left (h : s ≤ t) : ∀ u, u - t ≤ u - s :=
1535
- sub_le_sub_left' h
1536
-
1537
- theorem le_sub_add (s t : multiset α) : s ≤ s - t + t :=
1538
- le_sub_add -- implicit args
1539
-
1540
- theorem sub_le_self (s t : multiset α) : s - t ≤ s :=
1541
- sub_le_self' -- implicit args
1542
-
1543
1516
@[simp] theorem card_sub {s t : multiset α} (h : t ≤ s) : card (s - t) = card s - card t :=
1544
- (nat.sub_eq_of_eq_add $ by rw [add_comm, ← card_add, sub_add_cancel h]).symm
1517
+ (nat.sub_eq_of_eq_add $ by rw [add_comm, ← card_add, sub_add_cancel_of_le h]).symm
1545
1518
1546
1519
/-! ### Union -/
1547
1520
@@ -1554,20 +1527,20 @@ instance : has_union (multiset α) := ⟨union⟩
1554
1527
1555
1528
theorem union_def (s t : multiset α) : s ∪ t = s - t + t := rfl
1556
1529
1557
- theorem le_union_left (s t : multiset α) : s ≤ s ∪ t := le_sub_add _ _
1530
+ theorem le_union_left (s t : multiset α) : s ≤ s ∪ t := le_sub_add
1558
1531
1559
1532
theorem le_union_right (s t : multiset α) : t ≤ s ∪ t := le_add_left _ _
1560
1533
1561
- theorem eq_union_left : t ≤ s → s ∪ t = s := sub_add_cancel
1534
+ theorem eq_union_left : t ≤ s → s ∪ t = s := sub_add_cancel_of_le
1562
1535
1563
1536
theorem union_le_union_right (h : s ≤ t) (u) : s ∪ u ≤ t ∪ u :=
1564
- add_le_add_right (sub_le_sub_right h _) u
1537
+ add_le_add_right (sub_le_sub_right' h _) u
1565
1538
1566
1539
theorem union_le (h₁ : s ≤ u) (h₂ : t ≤ u) : s ∪ t ≤ u :=
1567
1540
by rw ← eq_union_left h₂; exact union_le_union_right h₁ t
1568
1541
1569
1542
@[simp] theorem mem_union : a ∈ s ∪ t ↔ a ∈ s ∨ a ∈ t :=
1570
- ⟨λ h, (mem_add.1 h).imp_left (mem_of_le $ sub_le_self _ _ ),
1543
+ ⟨λ h, (mem_add.1 h).imp_left (mem_of_le sub_le_self' ),
1571
1544
or.rec (mem_of_le $ le_union_left _ _) (mem_of_le $ le_union_right _ _)⟩
1572
1545
1573
1546
@[simp] theorem map_union [decidable_eq β] {f : α → β} (finj : function.injective f)
@@ -1662,7 +1635,7 @@ union_le (le_add_right _ _) (le_add_left _ _)
1662
1635
1663
1636
theorem union_add_distrib (s t u : multiset α) : (s ∪ t) + u = (s + u) ∪ (t + u) :=
1664
1637
by simpa [(∪), union, eq_comm, add_assoc] using show s + u - (t + u) = s - t,
1665
- by rw [add_comm t, sub_add ', add_sub_cancel ]
1638
+ by rw [add_comm t, sub_add_eq_sub_sub ', add_sub_cancel_right ]
1666
1639
1667
1640
theorem add_union_distrib (s t u : multiset α) : s + (t ∪ u) = (s + t) ∪ (s + u) :=
1668
1641
by rw [add_comm, union_add_distrib, add_comm s, add_comm s]
@@ -1709,8 +1682,7 @@ begin
1709
1682
end
1710
1683
1711
1684
theorem sub_inter (s t : multiset α) : s - (s ∩ t) = s - t :=
1712
- add_right_cancel $
1713
- by rw [sub_add_inter s t, sub_add_cancel (inter_le_left _ _)]
1685
+ add_right_cancel $ by rw [sub_add_inter s t, sub_add_cancel_of_le (inter_le_left s t)]
1714
1686
1715
1687
end
1716
1688
0 commit comments