Commit 2022-11-25 20:23 a8872c3e

View on Github →

feat: port Control.Basic (#588) mathlib3 SHA: 08aeb33b5b693fb1392a7568ae2c0b253516535e porting notes:

  1. The notation $< has been removed entirely. It is the same operation as |> in Lean 4 except with lower priority and a quick grep revealed it occurred literally nowhere in mathlib3.
  2. The dubious translation errors were due to order of implicit arguments and have been #alignₓed (except Sum.bind I'm not sure what the issue was, see Zulip)
  3. The fish definition is no longer needed because >=> has the correct (i.e., same as mathlib3's fish) binding precedence (55) in core Lean 4.
  4. It should be noted that >=> was left-associative in Lean 3, but it is now right-associative in Lean 4. There is a comment to this effect near fish_assoc.

Estimated changes

added theorem Functor.map_map
added def List.mapAccumLM
added def List.mapAccumRM
added def List.partitionM
added theorem fish_assoc
added theorem fish_pipe
added theorem fish_pure
added theorem guard_false
added theorem guard_true
added theorem joinM_map_joinM
added theorem joinM_map_map
added theorem joinM_map_pure
added theorem joinM_pure
added theorem map_bind
added theorem map_seq
added theorem pure_id'_seq
added theorem seq_bind_eq
added theorem seq_map_assoc
added def succeeds
added def tryM
added def zipWithM'
added def zipWithM