22

I am looking for a way to set the symbol for "forking independent" (for example, see "Essential Stability Theory", Steven Buechler, p.217). It looks a bit like an anchor or an upside-down 'T' with a curved bar.

merryman
  • 221
  • 3
    Depending on your accent, I imagine that 'forking independent' can sometimes sound quite different than its intended meaning :) – cmhughes Jan 24 '12 at 20:52

6 Answers6

27

I don't think this symbol exists in any of the typical packages, so it looks like you'll have to roll your own. You can combine the \smile symbol from the amssymb package with a \vert line for this. Here's one way to do it, based on Overlay symbol with another and \subseteq + \circ as a single symbol ("open subset").

\documentclass{article}
\usepackage{amsmath,amssymb}
\def\forkindep{\mathrel{\raise0.2ex\hbox{\ooalign{\hidewidth$\vert$\hidewidth\cr\raise-0.9ex\hbox{$\smile$}}}}}

\begin{document}
The symbol by itself: $\forkindep$

The symbol used with \verb|\underset|: $A \underset{C}{\forkindep} B$
\end{document}
Jake
  • 232,450
  • An improvement would be to use the starred version of DeclareMathOp, which undersets subscripts automatically, i.e. \DeclareMathOperator*{\forkindep}{\raise0.2ex\hbox{\ooalign{\hidewidth$\vert$\hidewidth\cr\raise-0.9ex\hbox{$\smile$}}}} will allow you to get the desired result when \forkindep_C is used. – qubyte Jan 24 '12 at 05:32
  • 1
    @Werner: Don't assume that I haven't tried to find the symbol in the Comprehensive LaTeX Symbol List and Detexify couldn't figure out my doodles either. I am not saying that I haven't missed something but I definitely tried to look it up. Jake: Thank you so much! That will work for me. I would accept your answer but I lost my cookie. Sorry. edit: converted to comment – merryman Jan 24 '12 at 05:09
  • You can register your account, and a moderator will merge that account with these unregistered ones, so you'll regain ownership of the question. – Jake Jan 24 '12 at 05:16
  • @merryman: I merged your two accounts and converted your answer into a comment. – Stefan Kottwitz Jan 24 '12 at 06:43
  • 9
    No, \DeclareMathOperator is wrong here: this seems to be a relation symbol. – egreg Jan 24 '12 at 07:33
  • @egreg: Thanks, I've rolled back to the old version. – Jake Jan 25 '12 at 04:07
18

A variation, using \oalign instead of \ooalign; the spacing will be right only if the symbol is treated as a binary relation

\documentclass[a4paper]{article}
\newcommand{\forkindep}[1][]{%
  \mathrel{
    \mathop{
      \vcenter{
        \hbox{\oalign{\noalign{\kern-.3ex}\hfil$\vert$\hfil\cr
              \noalign{\kern-.7ex}
              $\smile$\cr\noalign{\kern-.3ex}}}
      }
    }\displaylimits_{#1}
  }
}

\begin{document}
$A\forkindep[C]B$
\[
A\forkindep[C]B
\]
\end{document}

This will typeset the (optional) argument as a subscript in text style and below the symbol in display style.

enter image description here

egreg
  • 1,121,712
12

Unicode has that symbol at 0x2ADD, so you could do with XeTeX something like:

\XeTeXmathchardef\nonforking"3"2"2ADD
% ^take from symbol family ("2), and define as relation ("3)
$ A \nonforking_C B $
$\displaystyle A \mathop{\nonforking}_C B $ % note: changed from rel to op

enter image description here

This would of course need the appropriate fonts and such loaded (with unicode-math for example, it is already defined as \forksnot)

morbusg
  • 25,490
  • 4
  • 81
  • 162
  • 2
    ...it defines \forksnot... really? – Werner Jan 24 '12 at 15:27
  • 2
    My comment was more tongue-in-cheek, since it resembles \forksnot ~ fork-snot rather than forks-not, which might just as well have been written \notforks. Perhaps I should retrieve my mind from the gutter. – Werner Jan 24 '12 at 17:02
  • 2
    @Werner: hehe, there seemed to be something off with the command name, but I couldn't quite put my finger on it. Uhh.. “put my finger on a forkful of snot” sounds so wrong – morbusg Jan 24 '12 at 17:37
11

Thanks to the arXiv, one can find out what Buechler himself has used (and other model theorists in the area). Downloading the source of this paper and looking in its preamble, one finds:

\def\dnfo{\;\raise.2em\hbox{$\mathrel|\kern-.9em\lower.4em\hbox{$\smile$}$}}

\def\dnf#1{\lower.9em\hbox{$\buildrel\dnfo\over{ \scriptstyle  #1}$}}

\def\indep#1#2#3{\hbox{\mathsurround=0pt$#1 \  \dnf{#2} \ #3$}}

(among several related definitions). Then \indep{A}{C}{B} produces your example.

4

Including the package \usepackage{MnSymbol} you can also use \downfree (or \ndownfree respectively if you want to talk about dependent sets) for the desired symbol.

percusse
  • 157,807
sophie
  • 41
1

Perhaps it's not the most beautiful TeX code, but the following produces a beautiful nonforking symbol ($A \ind_C B$) and an even more beautiful placement of the slash in the forking symbol ($A \nind_C B$).

\def\Ind#1#2{#1\setbox0=\hbox{$#1x$}\kern\wd0\hbox to 0pt{\hss$#1\mid$\hss}
\lower.9\ht0\hbox to 0pt{\hss$#1\smile$\hss}\kern\wd0}

\def\ind{\mathop{\mathpalette\Ind{}}}

\def\notind#1#2{#1\setbox0=\hbox{$#1x$}\kern\wd0
\hbox to 0pt{\mathchardef\nn=12854\hss$#1\nn$\kern1.4\wd0\hss}
\hbox to 0pt{\hss$#1\mid$\hss}\lower.9\ht0 \hbox to 0pt{\hss$#1\smile$\hss}\kern\wd0}

\def\nind{\mathop{\mathpalette\notind{}}}

enter image description hereenter image description here

This was passed along to me by Greg Cousins, who got it from Martin Bays, who got it from Rahim Moosa, and you'd have to ask Rahim about the original source.