Skip to content

Commit 415530d

Browse files
committed
feat: update mathlib mod-tac-stx 2022-11-01 (#536)
This adds all the changes to tactic syntax that have happened in the period [2022-02-22 thru 2022-11-01](https://github.com/leanprover-community/mathlib/pulls?q=is%3Apr+closed%3A2022-02-22..2022-11-01+label%3Amodifies-tactic-syntax).
1 parent 4d4fafa commit 415530d

File tree

5 files changed

+58
-24
lines changed

5 files changed

+58
-24
lines changed

Mathlib/Algebra/Group/Defs.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ attribute [to_additive AddZeroClass] MulOneClass
245245

246246
@[ext, to_additive]
247247
theorem MulOneClass.ext {M : Type u} : ∀ ⦃m₁ m₂ : MulOneClass M⦄, m₁.mul = m₂.mul → m₁ = m₂ := by
248-
rintro ⟨⟨one₁⟩, ⟨mul₁⟩, one_mul₁, mul_one₁⟩ ⟨⟨one₂⟩, ⟨mul₂⟩, one_mul₂, mul_one₂⟩ ⟨rfl⟩
248+
rintro @⟨⟨one₁⟩, ⟨mul₁⟩, one_mul₁, mul_one₁⟩ @⟨⟨one₂⟩, ⟨mul₂⟩, one_mul₂, mul_one₂⟩ ⟨rfl⟩
249249
-- FIXME:
250250
-- congr
251251
suffices one₁ = one₂ by cases this; rfl

Mathlib/Mathport/Syntax.lean

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,8 @@ namespace Tactic
231231
/- E -/ syntax (name := symm') "symm'" (ppSpace location)? : tactic
232232
/- E -/ syntax (name := trans') "trans'" (ppSpace term)? : tactic
233233

234+
/- E -/ syntax (name := classical) "classical" : tactic
235+
234236
/- M -/ syntax (name := injectionsAndClear) "injections_and_clear" : tactic
235237

236238
/- E -/ syntax (name := tryFor) "try_for " term:max tacticSeq : tactic
@@ -268,12 +270,15 @@ namespace Tactic
268270
/- S -/ syntax (name := hint) "hint" : tactic
269271

270272
/- N -/ syntax (name := congr') "congr" (ppSpace colGt num)?
271-
(" with " (colGt rcasesPat)* (" : " num)?)? : tactic
272-
/- M -/ syntax (name := rcongr) "rcongr" (ppSpace colGt rcasesPat)* : tactic
273+
(" with " (colGt rintroPat)* (" : " num)?)? : tactic
274+
/- M -/ syntax (name := rcongr) "rcongr" (ppSpace colGt rintroPat)* : tactic
275+
/- M -/ syntax (name := congrM) "congrm " term : tactic
273276
/- E -/ syntax (name := acChange) "ac_change " term (" using " num)? : tactic
274277

275278
/- S -/ syntax (name := rcases?) "rcases?" casesTarget,* (" : " num)? : tactic
276279
/- S -/ syntax (name := rintro?) "rintro?" (" : " num)? : tactic
280+
/- E -/ syntax (name := rsuffices) "rsuffices"
281+
(ppSpace Std.Tactic.RCases.rcasesPatMed)? (" : " term)? (" := " term,+)? : tactic
277282

278283
/- M -/ syntax (name := decide!) "decide!" : tactic
279284

@@ -334,19 +339,19 @@ syntax termList := " [" term,* "]"
334339
/- B -/ syntax (name := abel!) "abel!" (ppSpace (&"raw" <|> &"term"))? (ppSpace location)? : tactic
335340

336341
syntax ringMode := &"SOP" <|> &"raw" <|> &"horner"
337-
/- E -/ syntax (name := ringNF) "ring_nf" (ppSpace ringMode)? (ppSpace location)? : tactic
338-
/- E -/ syntax (name := ringNF!) "ring_nf!" (ppSpace ringMode)? (ppSpace location)? : tactic
342+
/- E -/ syntax (name := ringNF) "ring_nf" (config)? (ppSpace ringMode)? (ppSpace location)? : tactic
343+
/- E -/ syntax (name := ringNF!) "ring_nf!" (config)? (ppSpace ringMode)? (ppSpace location)? :
344+
tactic
339345

340346
/- E -/ syntax (name := noncommRing) "noncomm_ring" : tactic
341347

342-
syntax nameAndTerm := term:71 " * " term:66
343-
/- M -/ syntax (name := linearCombination) "linear_combination" (config)?
344-
sepBy(atomic(nameAndTerm) <|> term:66, " + ") : tactic
348+
/- B -/ syntax (name := linearCombination) "linear_combination" (config)? (colGt term)? : tactic
345349

346350
/- B -/ syntax (name := linarith) "linarith" (config)? (&" only")? (" [" term,* "]")? : tactic
347351
/- B -/ syntax (name := linarith!) "linarith!" (config)? (&" only")? (" [" term,* "]")? : tactic
348352
/- M -/ syntax (name := nlinarith) "nlinarith" (config)? (&" only")? (" [" term,* "]")? : tactic
349353
/- M -/ syntax (name := nlinarith!) "nlinarith!" (config)? (&" only")? (" [" term,* "]")? : tactic
354+
/- S -/ syntax (name := polyrith) "polyrith" (&" only")? (" [" term,* "]")? : tactic
350355

351356
/- S -/ syntax (name := omega) "omega" (&" manual")? (&" nat" <|> &" int")? : tactic
352357

@@ -410,6 +415,12 @@ syntax mono.side := &"left" <|> &"right" <|> &"both"
410415
/- M -/ syntax (name := elementwise!) "elementwise!" (ppSpace (colGt ident))* : tactic
411416
/- M -/ syntax (name := deriveElementwiseProof) "derive_elementwise_proof" : tactic
412417

418+
/- M -/ syntax (name := computeDegree) "compute_degree" : tactic
419+
420+
/- B -/ syntax (name := positivity) "positivity" : tactic
421+
422+
/- E -/ syntax (name := qify) "qify" (simpArgs)? (ppSpace location)? : tactic
423+
413424
/- S -/ syntax (name := mkDecorations) "mk_decorations" : tactic
414425

415426
/- M -/ syntax (name := nontriviality) "nontriviality"
@@ -439,6 +450,8 @@ syntax mono.side := &"left" <|> &"right" <|> &"both"
439450
/- M -/ syntax (name := padicIndexSimp) "padic_index_simp" " [" term,* "]" (ppSpace location)? :
440451
tactic
441452

453+
/- M -/ syntax (name := borelize) "borelize" (ppSpace colGt term:max)* : tactic
454+
442455
/- E -/ syntax (name := uniqueDiffWithinAt_Ici_Iic_univ) "uniqueDiffWithinAt_Ici_Iic_univ" : tactic
443456

444457
/- M -/ syntax (name := ghostFunTac) "ghost_fun_tac " term ", " term : tactic
@@ -447,8 +460,8 @@ syntax mono.side := &"left" <|> &"right" <|> &"both"
447460
/- E -/ syntax (name := ghostSimp) "ghost_simp" (simpArgs)? : tactic
448461
/- E -/ syntax (name := wittTruncateFunTac) "witt_truncate_fun_tac" : tactic
449462

450-
/- M -/ @[nolint docBlame] syntax (name := pure_coherence) "pure_coherence" : tactic
451-
/- M -/ @[nolint docBlame] syntax (name := coherence) "coherence" : tactic
463+
/- M -/ syntax (name := pure_coherence) "pure_coherence" : tactic
464+
/- M -/ syntax (name := coherence) "coherence" : tactic
452465

453466
namespace Conv
454467

@@ -458,8 +471,8 @@ namespace Conv
458471
/- E -/ syntax (name := normNum1) "norm_num1" : conv
459472
/- E -/ syntax (name := normNum) "norm_num" (simpArgs)? : conv
460473

461-
/- E -/ syntax (name := ringNF) "ring_nf" (ppSpace ringMode)? : conv
462-
/- E -/ syntax (name := ringNF!) "ring_nf!" (ppSpace ringMode)? : conv
474+
/- E -/ syntax (name := ringNF) "ring_nf" (config)? (ppSpace ringMode)? : conv
475+
/- E -/ syntax (name := ringNF!) "ring_nf!" (config)? (ppSpace ringMode)? : conv
463476
/- E -/ syntax (name := ring) "ring" : conv
464477
/- E -/ syntax (name := ring!) "ring!" : conv
465478

@@ -483,6 +496,8 @@ namespace Attr
483496

484497
/- M -/ syntax (name := mkIff) "mk_iff" (ppSpace ident)? : attr
485498

499+
/- M -/ syntax (name := expandExists) "expand_exists" (ppSpace ident)+ : attr
500+
486501
-- TODO: this should be handled in mathport
487502
/- S -/ syntax (name := protectProj) "protect_proj" (&" without" (ppSpace ident)+)? : attr
488503

@@ -538,4 +553,9 @@ macro_rules
538553

539554
/- S -/ syntax (name := sample) "#sample " term : command
540555

556+
/- S -/ syntax (name := normNum) "#norm_num" (&" only")? (Tactic.simpArgs)? " :"? ppSpace term :
557+
command
558+
559+
/- S -/ syntax (name := pushNeg) "#push_neg " term : command
560+
541561
end Command

Mathlib/Tactic/Basic.lean

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import Lean
77
import Std
88
import Mathlib.Tactic.Cases
99

10+
namespace Mathlib.Tactic
1011
open Lean Parser.Tactic Elab Command Elab.Tactic Meta
1112

1213
syntax (name := «variables») "variables" (bracketedBinder)* : command
@@ -32,7 +33,7 @@ resulting in two subgoals `h : p ⊢` and `h : ¬ p ⊢`.
3233
macro "by_cases " e:term : tactic =>
3334
`(tactic| by_cases $(mkIdent `h) : $e)
3435

35-
macro (name := classical) "classical" : tactic =>
36+
macro (name := classical!) "classical!" : tactic =>
3637
`(tactic| have em := Classical.propDecidable)
3738

3839
syntax "transitivity" (colGt term)? : tactic

lean_packages/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{"version": 2,
22
"packages":
33
[{"url": "https://github.com/leanprover/std4",
4-
"rev": "52a6002d484643556cb1ce1b6e845c4db9452655",
4+
"rev": "3251e4564c136993227bbb5224276e63f077cf8e",
55
"name": "std",
66
"inputRev": "main"},
77
{"url": "https://github.com/gebner/quote4",

scripts/nolints.json

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,9 @@
4242
["docBlame", "Zero"],
4343
["docBlame", "bit0"],
4444
["docBlame", "bit1"],
45-
["docBlame", "classical"],
46-
["docBlame", "command_Lemma___"],
4745
["docBlame", "decidable_eq_of_bool_pred"],
48-
["docBlame", "elabVariables"],
49-
["docBlame", "evalIntrov"],
5046
["docBlame", "instHNeg"],
5147
["docBlame", "setOf"],
52-
["docBlame", "tacticMatch_target_"],
53-
["docBlame", "tacticTransitivity__"],
5448
["docBlame", "«term_+ᵥ_»"],
5549
["docBlame", "«term_-ᵥ_»"],
5650
["docBlame", "«term_ˣ»"],
@@ -63,7 +57,6 @@
6357
["docBlame", "to_additive_ignore_args"],
6458
["docBlame", "to_additive_relevant_arg"],
6559
["docBlame", "to_additive_reorder"],
66-
["docBlame", "variables"],
6760
["docBlame", "AddCancelCommMonoid.toCancelMonoid"],
6861
["docBlame", "AddCancelMonoid.add_right_cancel"],
6962
["docBlame", "AddCommGroup.toCancelCommMonoid"],
@@ -341,8 +334,6 @@
341334
["docBlame", "WriterT.run"],
342335
["docBlame", "WriterT.runThe"],
343336
["docBlame", "Zero.zero"],
344-
["docBlame", "evalIntrov.intro1PStep"],
345-
["docBlame", "evalIntrov.introsDep"],
346337
["docBlame", "Array.heapSort.loop"],
347338
["docBlame", "BinaryHeap.mkHeap.loop"],
348339
["docBlame", "Lean.Attr.hintTacticAttr"],
@@ -374,16 +365,23 @@
374365
["docBlame", "Lean.Meta.findCore"],
375366
["docBlame", "Lean.PHashSet.toList"],
376367
["docBlame", "Lean.Tactic.solveByElim"],
368+
["docBlame", "Mathlib.Tactic.classical!"],
369+
["docBlame", "Mathlib.Tactic.command_Lemma___"],
370+
["docBlame", "Mathlib.Tactic.elabVariables"],
371+
["docBlame", "Mathlib.Tactic.evalIntrov"],
377372
["docBlame", "Mathlib.Tactic.haveLetCore"],
378373
["docBlame", "Mathlib.Tactic.renameArg"],
379374
["docBlame", "Mathlib.Tactic.set"],
380375
["docBlame", "Mathlib.Tactic.setArgsRest"],
381376
["docBlame", "Mathlib.Tactic.tacticHave_"],
382377
["docBlame", "Mathlib.Tactic.tacticLeft"],
383378
["docBlame", "Mathlib.Tactic.tacticLet_"],
379+
["docBlame", "Mathlib.Tactic.tacticMatch_target_"],
384380
["docBlame", "Mathlib.Tactic.tacticRight"],
385381
["docBlame", "Mathlib.Tactic.tacticSet!_"],
386382
["docBlame", "Mathlib.Tactic.tacticSuffices_"],
383+
["docBlame", "Mathlib.Tactic.tacticTransitivity__"],
384+
["docBlame", "Mathlib.Tactic.variables"],
387385
["docBlame", "Mathlib.WhatsNew.diffExtension"],
388386
["docBlame", "Mathlib.WhatsNew.whatsNew"],
389387
["docBlame", "Nat.AtLeastTwo.prop"],
@@ -455,6 +453,7 @@
455453
["docBlame", "Lean.Meta.Simp.mkEqSymm"],
456454
["docBlame", "Lean.Meta.findCore.check"],
457455
["docBlame", "Lean.Parser.Attr.elementwise"],
456+
["docBlame", "Lean.Parser.Attr.expandExists"],
458457
["docBlame", "Lean.Parser.Attr.ext"],
459458
["docBlame", "Lean.Parser.Attr.higherOrder"],
460459
["docBlame", "Lean.Parser.Attr.interactive"],
@@ -477,8 +476,10 @@
477476
["docBlame", "Lean.Parser.Command.localized"],
478477
["docBlame", "Lean.Parser.Command.mkIffOfInductiveProp"],
479478
["docBlame", "Lean.Parser.Command.mkSimpAttribute"],
479+
["docBlame", "Lean.Parser.Command.normNum"],
480480
["docBlame", "Lean.Parser.Command.omit"],
481481
["docBlame", "Lean.Parser.Command.parameter"],
482+
["docBlame", "Lean.Parser.Command.pushNeg"],
482483
["docBlame", "Lean.Parser.Command.reassoc_axiom"],
483484
["docBlame", "Lean.Parser.Command.sample"],
484485
["docBlame", "Lean.Parser.Command.setupTacticParser"],
@@ -499,15 +500,20 @@
499500
["docBlame", "Lean.Parser.Tactic.applyWith'"],
500501
["docBlame", "Lean.Parser.Tactic.assocRw"],
501502
["docBlame", "Lean.Parser.Tactic.async"],
503+
["docBlame", "Lean.Parser.Tactic.borelize"],
502504
["docBlame", "Lean.Parser.Tactic.cancelDenoms"],
503505
["docBlame", "Lean.Parser.Tactic.cases'"],
504506
["docBlame", "Lean.Parser.Tactic.cases''"],
505507
["docBlame", "Lean.Parser.Tactic.cc"],
506508
["docBlame", "Lean.Parser.Tactic.clarify"],
509+
["docBlame", "Lean.Parser.Tactic.classical"],
507510
["docBlame", "Lean.Parser.Tactic.clean"],
508511
["docBlame", "Lean.Parser.Tactic.clearValue"],
512+
["docBlame", "Lean.Parser.Tactic.coherence"],
509513
["docBlame", "Lean.Parser.Tactic.compVal"],
514+
["docBlame", "Lean.Parser.Tactic.computeDegree"],
510515
["docBlame", "Lean.Parser.Tactic.congr'"],
516+
["docBlame", "Lean.Parser.Tactic.congrM"],
511517
["docBlame", "Lean.Parser.Tactic.continue"],
512518
["docBlame", "Lean.Parser.Tactic.continuity"],
513519
["docBlame", "Lean.Parser.Tactic.continuity!"],
@@ -573,7 +579,6 @@
573579
["docBlame", "Lean.Parser.Tactic.mkDecorations"],
574580
["docBlame", "Lean.Parser.Tactic.mono"],
575581
["docBlame", "Lean.Parser.Tactic.mvBisim"],
576-
["docBlame", "Lean.Parser.Tactic.nameAndTerm"],
577582
["docBlame", "Lean.Parser.Tactic.nlinarith"],
578583
["docBlame", "Lean.Parser.Tactic.nlinarith!"],
579584
["docBlame", "Lean.Parser.Tactic.noncommRing"],
@@ -587,8 +592,12 @@
587592
["docBlame", "Lean.Parser.Tactic.padicIndexSimp"],
588593
["docBlame", "Lean.Parser.Tactic.piInstance"],
589594
["docBlame", "Lean.Parser.Tactic.piInstanceDeriveField"],
595+
["docBlame", "Lean.Parser.Tactic.polyrith"],
596+
["docBlame", "Lean.Parser.Tactic.positivity"],
590597
["docBlame", "Lean.Parser.Tactic.prettyCases"],
591598
["docBlame", "Lean.Parser.Tactic.propagateTags"],
599+
["docBlame", "Lean.Parser.Tactic.pure_coherence"],
600+
["docBlame", "Lean.Parser.Tactic.qify"],
592601
["docBlame", "Lean.Parser.Tactic.rcases?"],
593602
["docBlame", "Lean.Parser.Tactic.rcongr"],
594603
["docBlame", "Lean.Parser.Tactic.reassoc"],
@@ -603,6 +612,7 @@
603612
["docBlame", "Lean.Parser.Tactic.ringNF!"],
604613
["docBlame", "Lean.Parser.Tactic.rintro?"],
605614
["docBlame", "Lean.Parser.Tactic.rsimp"],
615+
["docBlame", "Lean.Parser.Tactic.rsuffices"],
606616
["docBlame", "Lean.Parser.Tactic.rwSearch"],
607617
["docBlame", "Lean.Parser.Tactic.rwSearch?"],
608618
["docBlame", "Lean.Parser.Tactic.safe"],
@@ -663,6 +673,8 @@
663673
["docBlame", "Mathlib.Tactic.LibrarySearch.librarySearchLemmas"],
664674
["docBlame", "Mathlib.Tactic.LibrarySearch.lines"],
665675
["docBlame", "Mathlib.Tactic.LibrarySearch.«termLibrary_search%»"],
676+
["docBlame", "Mathlib.Tactic.evalIntrov.intro1PStep"],
677+
["docBlame", "Mathlib.Tactic.evalIntrov.introsDep"],
666678
["docBlame", "Sat.Clause.reify.prop"],
667679
["docBlame", "Sat.Fmla.reify.prop"],
668680
["docBlame", "Sat.Fmla.subsumes.prop"],
@@ -683,6 +695,7 @@
683695
["docBlame", "Lean.Parser.Tactic.Conv.slice"],
684696
["docBlame", "Lean.Parser.Tactic.ElimApp.evalNames"],
685697
["docBlame", "Lean.Parser.Tactic.mono.side"],
698+
["docBlame", "Lean.Parser.Tactic.rcasesPat.explicit"],
686699
["docBlame", "Mathlib.Tactic.Sat.buildReify.mkPS"],
687700
["unusedArguments", "Combinator.K"],
688701
["unusedArguments", "Decidable.not_or_iff_and_not"]]

0 commit comments

Comments
 (0)