diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-09-07 08:39:42 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2020-09-07 08:39:42 -0400 |
| commit | e65f5b2410330220d2b136f9ba8c4e86bd5a4dfc (patch) | |
| tree | 6c1651bf1613e4a7e768326ccd9726a0b4dd5db3 /spec | |
| parent | 2fa0cf9f5f492aa44af6c2f8b80c570cd3d0caf3 (diff) | |
Don't require inverses for derived functions that happen to be constant
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/inferred.md | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/spec/inferred.md b/spec/inferred.md index 79bbcac3..058710e5 100644 --- a/spec/inferred.md +++ b/spec/inferred.md @@ -66,25 +66,24 @@ Several primitives are easily undone, but doing so is not important for BQN prog ### Required modifiers -The following cases of Self/Swap must be supported. In the table below, a number (n) in parentheses indicates that the function in question is equivalent to the constant function `n˙`, and should be inverted accordingly (check that the argument matches `n`, then return it). +The following cases of Self/Swap must be supported. | Fn | 1 | 2 |------|-------|------- | `+˜` | `÷⟜2` | `+⁼` -| `-˜` | (0) | `+` +| `-˜` | | `+` | `ט` | `√` | `×⁼` -| `÷˜` | (1) | `×` +| `÷˜` | | `×` | `⋆˜` | | `√` | `√˜` | | `÷⋆⁼` | `∧˜` | `√` | `∧⁼` | `∨˜` | `√⌾¬` | `∨⁼` -| `¬˜` | (1) | `+-1˙` +| `¬˜` | | `+-1˙` Inverses of other modifiers and derived functions or modifiers obtained from them are given below. Here the "inverse" of a modifier is another modifier that, if applied to the same operands as the original operator, gives its inverse function. A constant is either a data value or `𝔽˙` for an arbitrary value `𝔽`. | Mod | Inverse | Requirements |---------|----------------------|-------------- -| `˙` | `{𝕗⊢⁼𝕩}` | | `¨` | `{!0<≡𝕩⋄𝕨𝔽⁼¨𝕩}` | | `⌜` | `{!0<≡𝕩⋄ 𝔽⁼⌜𝕩;}` | Monadic case only | `˘` | `{!0<=𝕩⋄𝕨𝔽⁼˘𝕩}` | |
