local A = require("my.abbreviations") local scrap = require("scrap") local M = {} M.unicode = { -- {{{ Logic { "frl", "∀" }, -- [f]o[r]al[l] { "exs", "∃" }, -- [e][x]ist[s] { "land", "∧" }, -- [l]ogical [and] { "Land", "⋀" }, -- arbitrary [l]ogical [and] { "lor", "∨" }, -- [l]ogical [or] { "Lor", "⋁" }, -- [l]ogical [or] { "bot", "⊥" }, -- false { "top", "⊤" }, -- true { "lneg", "¬" }, -- [l]ogical [neg]ation -- }}} -- {{{ Set theory { "nolla", "∅" }, { "carprod", "×" }, -- cartesian product { "sect", "∩" }, -- set intersection { "Sect", "⋂" }, -- arbitrary set intersection { "dsect", "⊓" }, -- disjoint set intersection (whatever that means lol) { "union", "∪" }, -- set union { "Union", "⋃" }, -- arbitrary set union { "dnion", "⊔" }, -- disjoint set union -- {{{ Inclusions { "sst", "⊂" }, -- [s]ub[s]et { "nsst", "⊄" }, -- [n]ot [s]ub[s]et { "sseq", "⊆" }, -- [s]ub[s]et or [eq]ual { "nsseq", "⊈" }, -- [n]ot [s]ub[s]et or [eq]ual { "psseq", "⊊" }, -- [p]roper [s]ub[s]et or [eq]ual { "spt", "⊃" }, -- [s]u[p]erset { "nspt", "⊅" }, -- [s]u[p]erset { "speq", "⊇" }, -- [s]u[p]erset or [eq]ual { "nspeq", "⊉" }, -- [n]ot [s]u[p]erset or [eq]ual { "pspeq", "⊋" }, -- [p]roper [s]u[p]erset or [eq]ual -- }}} -- }}} -- {{{ Common operators { "comp", "∘" }, -- composition { "mul", "⋅" }, -- multiplication { "sqrt", "√" }, -- square root { "cbrt", "∛" }, -- cube root -- }}} -- {{{ Integrals { "int", "∫" }, { "iint", "∬" }, { "iiint", "∭" }, { "pint", "∮" }, { "piint", "∯" }, { "piiint", "∰" }, -- }}} -- {{{ Common relations { "sim", "∼" }, -- similarity { "simeq", "≃" }, -- isomorphism { "cong", "≅" }, -- congruence { "iin", "∈" }, -- [I]ncluded [i][n] { "nin", "∉" }, -- [n]ot included [i][n] { "iic", "∋" }, -- [I]n[c]ludes { "nic", "∌" }, -- does'[n]t [i]n[c]lude -- }}} -- {{{ Common symbols { "star", "⋆" }, { "nabla", "∇" }, { "minidiam", "⋄" }, { "tto", "→" }, { "ttoo", "⟶" }, { "mapto", "↦" }, -- }}} } function M.setup() A.manyLocalAbbr(scrap.expand_many(M.unicode, { capitalized = false })) end return M