texlive[74788] Master/texmf-dist: fragoli (29mar25)

commits+karl at tug.org commits+karl at tug.org
Sat Mar 29 20:44:07 CET 2025


Revision: 74788
          https://tug.org/svn/texlive?view=revision&revision=74788
Author:   karl
Date:     2025-03-29 20:44:06 +0100 (Sat, 29 Mar 2025)
Log Message:
-----------
fragoli (29mar25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/fragoli/README.md
    trunk/Master/texmf-dist/doc/latex/fragoli/TODO.md
    trunk/Master/texmf-dist/doc/latex/fragoli/fragoli_doc.pdf
    trunk/Master/texmf-dist/doc/latex/fragoli/fragoli_doc.tex
    trunk/Master/texmf-dist/tex/latex/fragoli/fragoli.sty

Modified: trunk/Master/texmf-dist/doc/latex/fragoli/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/fragoli/README.md	2025-03-29 19:43:53 UTC (rev 74787)
+++ trunk/Master/texmf-dist/doc/latex/fragoli/README.md	2025-03-29 19:44:06 UTC (rev 74788)
@@ -1,17 +1,17 @@
-# FraGoLi v. 1.0.0 \y 2025
+# FraGoLi v. 1.1.1 \y 2025
 > Collection of LaTeX commands used by the institute of linguistics - Goethe University Frankfurt
 
-The package is mainly designed for the semantics department and focuses on providing a minimal syntax for fast formula derivation. 
-Formula-Style is losely based on the accompanying material to an introductory course to linguistic semantics by T. E. Zimmermann.
+The package is mainly designed to provide a minimal and user-friendly syntax for constructing large and complex semantic derivations. 
+Formula-Style is losely based on the accompanying material to an introductory course to linguistic semantics by Thomas Ede Zimmermann.
 
 ## Description
 
-The primary goal of this package is to provide a minimal and user-friendly syntax for constructing large and complex semantic derivations, following the specific notational style used at Goethe University Frankfurt. It includes a comprehensive set of commands for text formatting and various types of bracketing, ensuring a consistent style—particularly when distinguishing between meta-language and object-language within a single derivation or formula.
+The primary goal of this package is to provide short and easy to read macros for large and complex semantic derivations, following the specific notational style used at Goethe University Frankfurt. It includes a comprehensive set of commands for text formatting and various types of bracketing, ensuring a consistent style—particularly when distinguishing between meta-language and object-language within a single derivation or formula.
 
 ### Dependencies
 
 * {LaTeX2e}[1994/06/01]
-* {xparse, xcolor, enumitem, nicefrac, bm, amsmath, xstring, pdftexcmds, etoolbox, kvoptions, comment, ulem}
+* {xparse, xcolor, stmaryrd, enumitem, nicefrac, bm, amsmath, amssymb, xstring, expl3, pdftexcmds, etoolbox, kvoptions, comment, ulem}
 
 ## Authors
 
@@ -19,6 +19,17 @@
 
 ## Version History
 
+* 1.1.1
+    * Fix missing package dependency.
+    * Fix text overline overriding uuline internal length.
+    * Fix parentheses on lambda quantifier heads being bold in non bold mode.
+    * Add lambdaheadstyle package option.
+    * Add new fuction framework.
+    * Add new logic commands.
+    * Add new logic constants.
+    * Add new relation constants.
+    * Add new quantifier commands.
+    * Extend set command.
 * 1.0.0
     * Initial Release
 

Modified: trunk/Master/texmf-dist/doc/latex/fragoli/TODO.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/fragoli/TODO.md	2025-03-29 19:43:53 UTC (rev 74787)
+++ trunk/Master/texmf-dist/doc/latex/fragoli/TODO.md	2025-03-29 19:44:06 UTC (rev 74788)
@@ -1,8 +1,6 @@
-# FraGoLi v. 1.0.0 \y 2025 Todo
+# FraGoLi v. 1.1.1 \y 2025 Todo
 > List of planned features
 
 * Add code documentation
-* Add lambda operator with domain
-* Add framework to draw functions for variable assignments
 * Add framework for inline trees with movement
 * Add more common rules and lexical entries

Modified: trunk/Master/texmf-dist/doc/latex/fragoli/fragoli_doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/fragoli/fragoli_doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/fragoli/fragoli_doc.tex	2025-03-29 19:43:53 UTC (rev 74787)
+++ trunk/Master/texmf-dist/doc/latex/fragoli/fragoli_doc.tex	2025-03-29 19:44:06 UTC (rev 74788)
@@ -1,8 +1,9 @@
-% FraGoLi documentation for v. 1.0.0 y. 2025
+% FraGoLi documentation for v. 1.1.1 y. 2025
 % 
 % Copyright (C) 2025 Paul Eduard Koenig
 % pauleduardkoenig (at) gmail [dot] com
 % Goethe University Frankfurt, Institute of Linguistics
+%
 % --------------------------------
 %
 % O))))))))                    O))))             O))         
@@ -14,34 +15,31 @@
 % O))      O)))     O)) O)))  O)))))      O))    O))))))))O))
 % 
 % --------------------------------
-%
+% 
 % This file may be distributed and/or modified under the
-% conditions of the LaTeX Project Public License, either version 1.3
-% of this license or (at your option) any later version.
-% The latest version of this license is in:
-%
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any later
+% version. The latest version of this license is in:
 % http://www.latex-project.org/lppl.txt
-%
-% and version 1.3c or later is part of all distributions of LaTeX
-% version 2008-05-04 or later.
-%
+% and version 1.3c or later is part of all distributions of
+% LaTeX version 2008-05-04 or later.
+% 
+% This work has the LPPL maintenance status `maintained'.
+% The Current Maintainer of this work is Paul Eduard Koenig.
+% This work consists of the files fragoli.sty and fragoli_doc.tex
 
 \documentclass[10pt, a4paper]{article}
 \usepackage{hyperref}
 \usepackage[left=2.5cm, right=2.0cm, top=1cm, bottom=1cm, includeheadfoot]{geometry}
-\usepackage{amssymb}
 \usepackage{enumerate}
-\usepackage{bm}
 \usepackage{babel}
 \usepackage[utf8]{inputenc}
-\usepackage{stmaryrd}
 \usepackage[linguistics]{forest}
-\usepackage[debug=true, usetypes=true]{fragoli}
+\usepackage[usetypes=true]{fragoli}
 \usepackage{listings}
 \usepackage{showexpl}
 \usepackage{expex}
 
-
 \lstdefinestyle{Common}
 {
 	language={[LaTeX]TeX},
@@ -104,17 +102,17 @@
 %---------------------------------------------------------------- START --------------------------------------------
 
 \title{\FraGoLi\\Documentation for the \LaTeX\ package \texttt{\her{fragoli}}}
-\author{fragoli \textbackslash\text{v} 1.0.0\\Paul Eduard Koenig\\University of Frankfurt,\\Department of Linguistics\\\texttt{\href{mailto:pauleduardkoenig at gmail.com}{pauleduardkoenig at gmail.com}}}
+\author{fragoli \textbackslash\text{v} 1.1.1\\Paul Eduard Koenig\\Goethe University Frankfurt,\\Institute of Linguistics\\\texttt{\href{mailto:pauleduardkoenig at gmail.com}{pauleduardkoenig at gmail.com}}}
 
 
 \begin{document}
 	\maketitle
 	\begin{abstract}
-		This document provides an overview of the \LaTeX\ package \texttt{fragoli} (Frankfurt Goethe Linguistic). The package is primarily designed for use in the field of semantics, offering a streamlined syntax to facilitate the rapid derivation of semantic formulae. Its notation style is loosely based on the supplementary materials accompanying the introductory course in linguistic semantics by Prof. Dr. \textit{Thomas Ede Zimmermann}.
+		This document provides an overview of the \LaTeX\ package \texttt{fragoli} (Frankfurt Goethe Linguistic). The package is primarily designed for use in the field of semantics, offering a streamlined syntax to facilitate the rapid derivation of semantic formulae. Its notation style is loosely based on the supplementary materials accompanying the introductory course in linguistic semantics by \textit{Thomas Ede Zimmermann}.
 	\end{abstract}
 	\tableofcontents
 	\section{Background}
-	This package brings together and refines a collection of \LaTeX\ commands and concepts developed over the years within the Department of Linguistics at the Johann Wolfgang Goethe-Universit\"{a}t Frankfurt am Main. In the process of preparing research papers, assignments, and examinations, numerous custom \LaTeX\ headers and commands were shared within the department—some mutually compatible, others not. This package consolidates these resources into a cohesive system. Special thanks are due to \textit{T. E. Zimmermann}, \textit{Cécile Meier}, \textit{Daniel Gutzmann}, and \textit{Jan Köpping}, whose files form the foundation of this package. Also thanks to \textit{Manuel Lipstein} for his feedback. 
+	This package brings together and refines a collection of \LaTeX\ commands and concepts developed over the years within the institute of linguistics at the Goethe University Frankfurt. In the process of preparing research papers, assignments, and examinations, numerous custom \LaTeX\ headers and commands were shared within the department—some mutually compatible, others not. This package consolidates these resources into a cohesive system. Special thanks are due to \textit{Thomas Ede Zimmermann}, \textit{C\'{e}cile Meier}, \textit{Daniel Gutzmann}, and \textit{Jan Köpping}, whose files form the foundation of this package. Also thanks to \textit{Manuel Lipstein} for his feedback. 
 	
 	The primary goal of this package is to provide a minimal and user-friendly syntax for constructing large and complex semantic derivations, following the specific notational style used at Goethe University Frankfurt. It includes a comprehensive set of commands for text formatting and various types of bracketing, ensuring a consistent style—particularly when distinguishing between meta-language and object-language within a single derivation or formula.
 	
@@ -122,18 +120,15 @@
 	
 	Additionally, the package includes specialized commands and environments that extend beyond standard semantic notation. One such feature is the \textit{cps} environment, which implements a rainbow bracketing system inspired by modern programming editors and IDEs. This system assigns matching colors to parentheses at the same depth, with each level of nesting receiving a distinct color. This visual aid significantly enhances the readability of complex derivations and formulae, making them easier to process and debug. However, due to the intricate way \LaTeX\ handles command execution order, this feature currently does not integrate well with commands that generate parentheses as part of their output. While future updates may address this limitation, at present, only manually written parentheses within the \textit{cps} environment are affected by the coloring scheme. 
 	As an example see: \\\verb=\begin{cps}(level1(level2(level3)(level3)))\end{cps}= which results in:  \\\begin{cps}(level1(level2(level3)(level3)))\end{cps}.
-	This feature is automtically enabled in some other env. like the \textit{semcalc} framework. To change the colors one needs to manually override the colors \textit{fglcpcolor0} to \textit{fglcpcolor5} like this \\\verb=\definecolor{fglcpcolor0}{RGB}{000, 000, 000}=.
+	This feature is automtically enabled in some other env. like the \textit{semcalc} framework. To change the colors one needs to manually override the colors \textit{fglcpcolor0} to \textit{fglcpcolor5} like this: \\\verb=\definecolor{fglcpcolor0}{RGB}{000, 000, 000}=.
 	
 	The core component of this package is the \textit{fgls} environment, which provides abbreviated versions of all commands and is designed for constructing larger semantic formulae and derivations. Given the extensive set of custom commands—ranging from one to four letters—potential conflicts with other packages may arise, so careful usage within other environments is advised.
 	For example, the minimal syntax facilitated by this environment is illustrated below:
 	\begin{lstlisting}[style=B]
 			\begin{fgls}[\sone]
-				\e{sees} = \ly\lx\n{\mx\ sees \my\ in \cs}
+				\e{sees} = \ly\lx\n{\Mx sees \My in \cs}
 			\end{fgls}
-	\end{lstlisting} which renders as: 
-	\begin{fgls}[\sone]
-		\e{sees} = \ly\lx\n{\mx\ sees \my\ in \cs}
-	\end{fgls}.
+	\end{lstlisting} which renders as: \begin{fgls}[\sone]\ignorespacesafterend\e{sees} = \ly\lx\n{\Mx sees \My in \cs}\end{fgls}.
 	The advantage of this syntax lies in its ability to maintain consistent formatting of variables across various levels of nesting. Previously, manually handling the font styles of variables introduced the risk of in\-con\-sis\-ten\-cies—such as losing the correct formatting (e.g., boldface for object-language variables) when copying \LaTeX\ code into new formulae. This issue is eliminated by using commands like \verb=\mx=, which consistently produces an italic, non-bold x for meta-language variables. Additionally, the use of\ \verb=\n{exp...}= ensures structural integrity, as failing to close the expression correctly now results in a compiler error, preventing unintended formatting issues. Also the optional parameter \verb=[\sone]= automatically sets the current situation for all commands inside the local \textit{fgls} env., which makes changes easy.
 	
 	All of this is designed to make writing large semantic formulae faster and more error pronone and ro provide beautiful and consistent output.
@@ -155,8 +150,8 @@
 				\ds{\e{loves Maria}(Peter)}
 				\ds{\e{loves}(\e{Maria})(Peter)}
 				\ds{\e{loves}(Maria)(Peter)}
-				\ds{\ly\lx\n{\mx\ loves \my\ in \cs}(Maria)(Peter)}
-				\ds{\lx\n{\mx\ loves Maria in \cs}(Peter)}
+				\ds{\ly\lx\n{\Mx loves \My in \cs}(Maria)(Peter)}
+				\ds{\lx\n{\Mx loves Maria in \cs}(Peter)}
 				\ds{\n{Peter loves Maria in \cs}}
 			\end{semderivation}
 	\end{lstlisting} 
@@ -166,8 +161,8 @@
 		\ds{\e{loves Maria}(Peter)}
 		\ds{\e{loves}(\e{Maria})(Peter)}
 		\ds{\e{loves}(Maria)(Peter)}
-		\ds{\ly\lx\n{\mx\ loves \my\ in \cs}(Maria)(Peter)}
-		\ds{\lx\n{\mx\ loves Maria in \cs}(Peter)}
+		\ds{\ly\lx\n{\Mx loves \My in \cs}(Maria)(Peter)}
+		\ds{\lx\n{\Mx loves Maria in \cs}(Peter)}
 		\ds{\n{Peter loves Maria in \cs}}
 	\end{semderivation}
 	Note that the default situation has been changed from \sstar to \szero. To ensure consistency within a derivation, it is recommended to specify the desired situation as an environment parameter and reference it within the derivation using the \verb=\cs= command, which represents the current situation. To reference a specific derivation step, use:
@@ -190,7 +185,7 @@
 				\end{semderi}
 			\end{semcalc}
 	\end{lstlisting}
-	All three sub-environments function exclusively within the \textit{semcalc} or \textit{fgls} environments. A detailed ex\-pla\-na\-ti\-on of each sub-environment is provided in the following sections.
+	All these sub-environments function exclusively within the \textit{semcalc} or \textit{fgls} environments. A detailed ex\-pla\-na\-ti\-on of each sub-environment is provided in the section \ref{sec:semcalc}.
 	\\Example for a full semantic calculation for: \sde[\stwo]{Peter sleeps}
 	\begin{lstlisting}[style=B]
 			\begin{semcalc}[\stwo]
@@ -222,7 +217,7 @@
 				\end{semderi}
 			\end{semcalc}
 	\end{lstlisting}
-	The code above will resutl in the following derivation structure:
+	The code above will result in the following derivation structure:
 	\begin{semcalc}[\stwo]
 		\begin{semtreesem}
 			\begin{forest}
@@ -251,15 +246,15 @@
 			\ds[\lc]{\n{Peter sleeps in \cs}}
 		\end{semderi}
 	\end{semcalc}
-	As shown on the right, each step references the corresponding rule or lexical entry to indicate to the reader which resource was used to reach the next step. These resources can also be referenced outside of the \textit{semderivation} environment using the command \verb=\ref{sem:deri:refNameresNumber}=, where \texttt{refName} refers to the derivation reference name (as explained earlier), and \texttt{resNumber} is the index of the desired resource, starting from 0. There are four types of resource codes: \texttt{r}, \texttt{rs}, \texttt{l}, and \texttt{la}, which stand for resource, resource-syntax, lexicon, and language, respectively. For further details, see Command \ref{command:resourceCounter}.
+	As shown on the right, each step references the corresponding rule or lexical entry to indicate to the reader which resource was used to reach the next step. These resources can also be referenced outside of the \textit{semderivation} environment using the command \verb=\ref{sem:deri:refNameresCoderesNumber}=, where \texttt{refName} refers to the derivation reference name (as explained earlier), \texttt{resNumber} is the index of the desired resource (starting from 1), and \texttt{resCode} specifies the kind of resource. There are four types of resource codes: \texttt{r}, \texttt{rs}, \texttt{l}, and \texttt{la}, which stand for resource, resource-syntax, lexicon, and language, respectively. For further details, see Command \ref{command:resourceCounter}.
 	\\
 	An additional example of a more complex derivation involving indirect interpretation would look like this:
 	\begin{lstlisting}[style=B]
 			\begin{semderivation}
-				\dS{\e[g,\!\cs]{\r[S]{\r[DP]{jeden Esel}\r[S]{\lx\r[S]{Hans \r[VP]{\tx f\"{u}tterte}}}}}}
-				\ds[\fa]{\e{jeden Esel}(\e[g,\!\cs]{\lx\r[S]{Hans \r[VP]{\tx f\"{u}tterte}}})}
-				\ds[\abs]{\e{jeden Esel}(\lz\e[g{\asmoD{z}[x]},\!\cs]{Hans \r[VP]{\tx f\"{u}tterte}})}
-				\ds[\fa]{\e{jeden Esel}(\lz\r{\e[g{\asmoD{z}[x]},\!\cs]{\r[VP]{\tx f\"{u}tterte}}(\e[g{\asmoD{z}[x]},\!\cs]{Hans})})}
+				\dS{\e[g,\!\cs]{\r[S]{\r[DP]{jeden Esel}\r[S]{\lx\r[S]{Hans \r[VP]{\tx\ f\"{u}tterte}}}}}}
+				\ds[\fa]{\e{jeden Esel}(\e[g,\!\cs]{\lx\r[S]{Hans \r[VP]{\tx\ f\"{u}tterte}}})}
+				\ds[\abs]{\e{jeden Esel}(\lz\e[g{\asmoD{z}[x]},\!\cs]{Hans \r[VP]{\tx\ f\"{u}tterte}})}
+				\ds[\fa]{\e{jeden Esel}(\lz\r{\e[g{\asmoD{z}[x]},\!\cs]{\r[VP]{\tx\ f\"{u}tterte}}(\e[g{\asmoD{z}[x]},\!\cs]{Hans})})}
 				\ds[\fa]{\e{jeden Esel}(\lz\r{\e[g{\asmoD{z}[x]},\!\cs]{\r{f\"{u}tterte}}(\e[g{\asmoD{z}[x]},\cs]{\tx})(\e[g{\asmoD{z}[x]},\!\cs]{Hans})})}
 				\ds[SemVar]{\e{jeden Esel}(\lz\r{\e[g{\asmoD{z}[x]},\!\cs]{\r{f\"{u}tterte}}(\mz)(\e[g{\asmoD{z}[x]},\!\cs]{Hans})})}
 				\ds[\lex]{\e{jeden Esel}(\lz\r{\e[g{\asmoD{z}[x]},\!\cs]{\r{f\"{u}tterte}}(\mz)(Hans)})}
@@ -269,17 +264,17 @@
 				\ds[\lex]{\lX\n{\sa\e{Esel} $\subseteq$ \sa\mX}(\lz\n{Hans f\"{u}tterte \mz\ in \cs})}
 				\ds[\lc]{\n{\sa\e{Esel} $\subseteq$ \sA{\lz\n{Hans f\"{u}tterte \mz\ in \cs}}}}
 				\ds[\lex]{\n{\sA{\lx\n{\mx\ ist ein Esel in \cs}} $\subseteq$ \sA{\lz\n{Hans f\"{u}tterte \mz\ in \cs}}}}
-				\ds[Def. \cd]{\n{\s{\mx\ ist ein Esel in \cs} $\subseteq$ \s{Hans f\"{u}tterte \mx\ in \cs}}}
-				\ds[\nc]{\n{\cset{Esel} $\subseteq$ \s{Hans f\"{u}tterte \mx\ in \cs}}}
+				\ds[Def. \cd]{\n{\s{\Sv ist ein Esel in \cs} $\subseteq$ \s{Hans f\"{u}tterte \Sv in \cs}}}
+				\ds[\nc]{\n{\cset{Esel} $\subseteq$ \s{Hans f\"{u}tterte \Sv in \cs}}}
 				\ds{1 gdw. alle Individuen, die Esel sind in \cs\ auch Individuen sind, die von Hans in \cs\ gef\"{u}ttert werden, sonst 0.}
 			\end{semderivation}
 	\end{lstlisting}
 	which would result in a derivation that looks like this (derivation for \textit{Hans fed every donkey} with quantifier raising):
 	\begin{semderivation}
-		\dS{\e[g,\!\cs]{\r[S]{\r[DP]{jeden Esel}\r[S]{\lx\r[S]{Hans \r[VP]{\tx fütterte}}}}}}
-		\ds[\fa]{\e{jeden Esel}(\e[g,\!\cs]{\lx\r[S]{Hans \r[VP]{\tx fütterte}}})}
-		\ds[\abs]{\e{jeden Esel}(\lz\e[g{\asmoD{z}[x]},\!\cs]{Hans \r[VP]{\tx fütterte}})}
-		\ds[\fa]{\e{jeden Esel}(\lz\r{\e[g{\asmoD{z}[x]},\!\cs]{\r[VP]{\tx fütterte}}(\e[g{\asmoD{z}[x]},\!\cs]{Hans})})}
+		\dS{\e[g,\!\cs]{\r[S]{\r[DP]{jeden Esel}\r[S]{\lx\r[S]{Hans \r[VP]{\tx\ fütterte}}}}}}
+		\ds[\fa]{\e{jeden Esel}(\e[g,\!\cs]{\lx\r[S]{Hans \r[VP]{\tx\ fütterte}}})}
+		\ds[\abs]{\e{jeden Esel}(\lz\e[g{\asmoD{z}[x]},\!\cs]{Hans \r[VP]{\tx\ fütterte}})}
+		\ds[\fa]{\e{jeden Esel}(\lz\r{\e[g{\asmoD{z}[x]},\!\cs]{\r[VP]{\tx\ fütterte}}(\e[g{\asmoD{z}[x]},\!\cs]{Hans})})}
 		\ds[\fa]{\e{jeden Esel}(\lz\r{\e[g{\asmoD{z}[x]},\!\cs]{\r{fütterte}}(\e[g{\asmoD{z}[x]},\cs]{\tx})(\e[g{\asmoD{z}[x]},\!\cs]{Hans})})}
 		\ds[SemVar]{\e{jeden Esel}(\lz\r{\e[g{\asmoD{z}[x]},\!\cs]{\r{fütterte}}(\mz)(\e[g{\asmoD{z}[x]},\!\cs]{Hans})})}
 		\ds[\lex]{\e{jeden Esel}(\lz\r{\e[g{\asmoD{z}[x]},\!\cs]{\r{fütterte}}(\mz)(Hans)})}
@@ -289,8 +284,8 @@
 		\ds[\lex]{\lX\n{\sa\e{Esel} $\subseteq$ \sa\mX}(\lz\n{Hans fütterte \mz\ in \cs})}
 		\ds[\lc]{\n{\sa\e{Esel} $\subseteq$ \sA{\lz\n{Hans fütterte \mz\ in \cs}}}}
 		\ds[\lex]{\n{\sA{\lx\n{\mx\ ist ein Esel in \cs}} $\subseteq$ \sA{\lz\n{Hans fütterte \mz\ in \cs}}}}
-		\ds[Def. \cd]{\n{\s{\mx\ ist ein Esel in \cs} $\subseteq$ \s{Hans fütterte \mx\ in \cs}}}
-		\ds[\nc]{\n{\cset{Esel} $\subseteq$ \s{Hans fütterte \mx\ in \cs}}}
+		\ds[Def. \cd]{\n{\s{\Sv ist ein Esel in \cs} $\subseteq$ \s{Hans fütterte \Sv in \cs}}}
+		\ds[\nc]{\n{\cset{Esel} $\subseteq$ \s{Hans fütterte \Sv in \cs}}}
 		\ds{1 gdw. alle Individuen, die Esel sind in \cs\ auch Individuen sind, die von Hans in \cs\ gefüttert werden, sonst 0.}
 	\end{semderivation}
 	Note that the comments on the right should signal the reader which rule or lexical entry or notational convention has been used to get to the next step.
@@ -317,7 +312,7 @@
 	\begin{lstlisting}[style=A]
 			\usepackage[userainbow=BOOL]{fragoli}
 	\end{lstlisting}
-	This option will effect the automatic coloring of parentheses levels within a semantic derivation or the \textit{cps} environment. The default ist set to \texttt{\her{true}}, valid options are true/false.
+	This option will effect the automatic coloring of parentheses levels within a semantic derivation or the \textit{cps} environment. The default is set to \texttt{\her{true}}, valid options are true/false. To change the colors one needs to manually override the color values \textit{fglcpcolor0} to \textit{fglcpcolor5} like this: \\\verb=\definecolor{fglcpcolor0}{RGB}{000, 000, 000}=.
 	\begin{itemizeexample}
 		\item[-] true (e.g. \begin{cps}(level0(level1((level3(level4(level5(level6))))level2)))\end{cps})
 		\item[-] false (e.g. (level0(level1((level3(level4(level5(level6))))level2))))
@@ -326,10 +321,10 @@
 	\begin{lstlisting}[style=A]
 			\usepackage[usetypes=BOOL]{fragoli}
 	\end{lstlisting}
-	This option will effect the default types set to lexicon and rule entries will be displayed. The default ist set to \texttt{\her{false}}, valid options are true/false.
+	This option will effect if the default types in lexicon and rule entries are displayed. The default ist set to \texttt{\her{false}}, valid options are true/false.
 	\begin{itemizeexample}
-		\item[-] true (e.g. R1: \sit{Every-} = \lambH{Q}[\type{et}](\lambH{P}[\type{et}]\lambheN[x][\type{e}]\lambbY{\sand{\obli{Q}(\obli{x})}{\obli{P}(\obli{x})}}))
-		\item[-] false (e.g. R1: \sit{Every-} = \lambH{Q}(\lambH{P}\lambheN\lambbY{\sand{\obli{Q}(\obli{x})}{\obli{P}(\obli{x})}}))
+		\item[-] true (e.g. R1: \sit{Every-} = \lambH{Q}[\type{et}](\lambH{P}[\type{et}]\lambhen[x][\type{e}]\lambbY{\sand{\obli{Q}(\obli{x})}{\obli{P}(\obli{x})}}))
+		\item[-] false (e.g. R1: \sit{Every-} = \lambH{Q}(\lambH{P}$\neg$($\exists$$x$)\lambbY{\sand{\obli{Q}(\obli{x})}{\obli{P}(\obli{x})}}))
 	\end{itemizeexample}
 	\subsubsection{typestyle}
 	\begin{lstlisting}[style=A]
@@ -337,20 +332,31 @@
 	\end{lstlisting}
 	This option will effect the default parentheses style of all types added with the \verb=\type{#1}= command. The default ist set to \texttt{\her{normal}}, valid options are:
 	\begin{itemizeexample}
-		\item[-] normal (e.g. $\lambda$\obli{Q}\textsubscript{$\langle$$et$$\rangle$})
-		\item[-] classic (e.g. $\lambda$\obli{Q}\textsubscript{($et$)})
+		\item[-] normal (e.g. $\langle$$et$$\rangle$)
+		\item[-] classic (e.g. ($et$))
+		\item[-] alternative (e.g. $<$$et$$>$)
 	\end{itemizeexample}
+	\subsubsection{lambdaheadstyle}
+	\begin{lstlisting}[style=A]
+			\usepackage[lambdaheadstyle=STYLE]{fragoli}
+	\end{lstlisting}
+	This option will effect the default type positioning/style of all lambda heads when adding a type as argument. The default ist set to \texttt{\her{normal}}, valid options are:
+	\begin{itemizeexample}
+		\item[-] normal (e.g. $\lambda$\obli{Q}\textsubscript{\type{et}}\!.)
+		\item[-] domain (e.g. $\lambda$\obli{Q} $\in$ D\textsubscript{\type{et}}\!.)
+		\item[-] upper (e.g. $\lambda$\obli{Q}\textsuperscript{\type{et}}\!.)
+	\end{itemizeexample}
 	\subsubsection{usedscount}
 	\begin{lstlisting}[style=A]
 			\usepackage[usedscount=BOOL]{fragoli}
 	\end{lstlisting}
-	This option will effect if the row count will be displayed in every semantic derivation step in the \textit{semderi} environment. The default ist set to \texttt{\her{true}}, valid options are true/false.
+	This option will effect if the row count will be displayed in every semantic derivation step in the \textit{semderivation} and \textit{semderi} environments. The default ist set to \texttt{\her{true}}, valid options are true/false. To change the color one needs to manually override the color value like this: \\\verb=\definecolor{fgldeivationrowcountcolor}{RGB}{000, 000, 000}=.
 	\begin{center}
 		\begin{minipage}[h][2cm][t]{15em}
 			true:\begin{itemizeexample}
 				\item[] \lambh{x}\lambbY{$x$+2}(2)
-				\item[$\stackrel{\color{deivationrowcountcolor}2.\color{black}}{=}$] 2+2
-				\item[$\stackrel{\color{deivationrowcountcolor}3.\color{black}}{=}$] 4
+				\item[$\stackrel{\color{fgldeivationrowcountcolor}2.\color{black}}{=}$] 2+2
+				\item[$\stackrel{\color{fgldeivationrowcountcolor}3.\color{black}}{=}$] 4
 			\end{itemizeexample}
 		\end{minipage}
 		\begin{minipage}[h][2cm][t]{15em}
@@ -365,7 +371,7 @@
 	\begin{lstlisting}[style=A]
 			\usepackage[showawnser=BOOL]{fragoli}
 	\end{lstlisting}
-	This option will effect the question and awnser environments. If set to true everything written within a question environment will be colored light grey and look like this: \color{dunkelgrau}example text\color{black}\ and everything written within an awnser environment will be visible. If set to false every awnser environment will be hidden and the question env. content will be colored black.
+	This option will effect the question and awnser environments. If set to true everything written within a question environment will be colored light grey and look like this: \color{fglquestioncolor}example text\color{black}\ and everything written within an awnser environment will be visible. If set to false every awnser environment will be hidden and the question env. content will be colored black. To change the color one needs to manually override the color value like this: \verb=\definecolor{fglquestioncolor}{RGB}{000, 000, 000}=.
 	\subsubsection{rulesituation}
 	\begin{lstlisting}[style=A]
 			\usepackage[rulesituation=SITUATION]{fragoli}
@@ -375,9 +381,9 @@
 	\begin{lstlisting}[style=A]
 			\usepackage[situation=SITUATION]{fragoli}
 	\end{lstlisting}
-	This option will effect every predefined situation (EXCEPT for all the predefined rules). By default the situation displayed will be \sstar. Note that every predefined situation can be customized individually again. This will effect for example every command that contains a situation and also every shortcut in the fgls env., also every predefined lexical entry and all other occurences of situations.
+	This option will effect every predefined situation (EXCEPT for all the predefined rules). By default the situation displayed will be \sstar. Note that every predefined situation can be customized individually again. This will effect for example every command that contains a situation and also every shortcut in the \textit{fgls} environment, also every predefined lexical entry and all other occurences of situations.
 	\section{Commands}
-	Most commands in this package have two versions, one normal and one bold version. For the bold version just write the last letter in uppercase.
+	Most commands in this package have two versions, one normal and one bold version. For the bold version just write the last letter in uppercase (except for a few commands).
 	\subsection{Text}
 	This section lists commands modifying the appearance of text.
 	\pex\begin{itemizeexamplecommand}
@@ -512,19 +518,20 @@
 		\end{itemizeexamplecommand}
 	\xe
 	\subsection{Bracketing}
-	This section lists general text bracketing commands. For semantic specific brackets check the two sections todo.
+	This section lists general text bracketing commands.
 	\pex\begin{itemizeexamplecommand}
 			\item[] \begin{lstlisting}[style=B]
-			\set[var]{properties}
+			\set[var]{properties}[name]
 			\end{lstlisting}
 			{\scriptsize
 				\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{var}(def=x): Varibale name and/or domain specifier
 					\item[] \texttt{properties}: Set-builder notation
-					\item[] \texttt{var}(def=x): Varibale name and/or domain specifier
+					\item[] \texttt{var}(def=): The name of the set
 				\end{itemizeexamplecommand}
-				\item[] Description: Creating an inensional build set.
+				\item[] Description: Creating an inensional build set. Each use of this command will override the \verb=\setvar= command. This command should be used inside the set properties to reference the set variable. The reference will always cut the content of the optional \textit{var} argument before the first space character. Use \verb=\Setvar= to automatically add a space behind the command. To change the style of the set from : to e.g. $|$ replace the \verb=\@fglsetspacer= constant using \verb=\newcommand{\@fglsetspacer}{$|$}=.
 				\item[] Bold Option: Yes
-				\item[] Example: \set[n \in \mathbb{N}]{n is even}}
+				\item[] Example: \verb=\set[n \in \mathbb{N}]{\Setvar is even}[A]= will result in: \set[n \in \mathbb{N}]{\Setvar is even}[A]}
 		\end{itemizeexamplecommand}
 	\xe
 	\pex\begin{itemizeexamplecommand}
@@ -552,7 +559,8 @@
 				\end{itemizeexamplecommand}
 				\item[] Description: Creating rectangle brackets, mainly used for a lambda function body.
 				\item[] Bold Option: Yes
-				\item[] Example: \lambbY{P $\land$ Q}}
+				\item[] Example: \lambbY{P $\land$ Q}
+				\item[] Example: \lambbY[Inner][Outer]{P $\land$ Q}}
 		\end{itemizeexamplecommand}
 	\xe
 	\pex\begin{itemizeexamplecommand}
@@ -595,6 +603,50 @@
 	\xe
 	\pex\begin{itemizeexamplecommand}
 			\item[] \begin{lstlisting}[style=B]
+			\strue
+			\end{lstlisting}
+			{\scriptsize
+				\item[] Description: Creating a verum symbol.
+				\item[] Bold Option: Yes
+				\item[] Since: 1.1.1
+				\item[] Example: \strue}
+		\end{itemizeexamplecommand}
+	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
+			\sfalse
+			\end{lstlisting}
+			{\scriptsize
+				\item[] Description: Creating a falsum symbol.
+				\item[] Bold Option: Yes
+				\item[] Since: 1.1.1
+				\item[] Example: \sfalse}
+		\end{itemizeexamplecommand}
+	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
+			\snec
+			\end{lstlisting}
+			{\scriptsize
+				\item[] Description: Creating a necessity symbol.
+				\item[] Bold Option: Yes
+				\item[] Since: 1.1.1
+				\item[] Example: \snec}
+		\end{itemizeexamplecommand}
+	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
+			\sposs
+			\end{lstlisting}
+			{\scriptsize
+				\item[] Description: Creating a possible symbol.
+				\item[] Bold Option: Yes
+				\item[] Since: 1.1.1
+				\item[] Example: \sposs}
+		\end{itemizeexamplecommand}
+	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
 			\simp{arg1}{arg2}
 			\end{lstlisting}
 			{\scriptsize
@@ -653,6 +705,38 @@
 	\xe
 	\pex\begin{itemizeexamplecommand}
 			\item[] \begin{lstlisting}[style=B]
+			\sxor{arg1}{arg2}[arg3][arg4][arg5][arg6][arg7][arg8][arg9]
+			\end{lstlisting}
+			{\scriptsize
+				\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{arg1}: 1st disjunct
+					\item[] \texttt{arg2}: 2nd disjunct
+					\item[] \texttt{argN}: nth disjunct
+				\end{itemizeexamplecommand}
+				\item[] Description: Creating an exclusive disjunctive formula with min. 2 disjuncts.
+				\item[] Bold Option: Yes
+				\item[] Since: 1.1.1
+				\item[] Example: \sxor{a}{b}[c]}
+		\end{itemizeexamplecommand}
+	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
+			\sxornc{arg1}{arg2}[arg3][arg4][arg5][arg6][arg7][arg8][arg9]
+			\end{lstlisting}
+			{\scriptsize
+				\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{arg1}: 1st disjunct
+					\item[] \texttt{arg2}: 2nd disjunct
+					\item[] \texttt{argN}: nth disjunct
+				\end{itemizeexamplecommand}
+				\item[] Description: Creating an exclusive disjunctive formula with min. 2 disjuncts but without the notational convention.
+				\item[] Bold Option: Yes
+				\item[] Since: 1.1.1
+				\item[] Example: \sxornc{a}{b}[c]}
+		\end{itemizeexamplecommand}
+	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
 			\sand{arg1}{arg2}[arg3][arg4][arg5][arg6][arg7][arg8][arg9]
 			\end{lstlisting}
 			{\scriptsize
@@ -681,6 +765,40 @@
 				\item[] Example: \sandnc{a}{b}[c]}
 		\end{itemizeexamplecommand}
 	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
+			\slogic{symbol}{arg1}{arg2}[arg3][arg4][arg5][arg6][arg7][arg8]
+			\end{lstlisting}
+			{\scriptsize
+				\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{symbol}: the junctor symbol (math mode is enforced)
+					\item[] \texttt{arg1}: 1st conjunct
+					\item[] \texttt{arg2}: 2nd conjunct
+					\item[] \texttt{argN}: nth conjunct
+				\end{itemizeexamplecommand}
+				\item[] Description: Creating a blank formula with min. 2 arguments.
+				\item[] Bold Option: Yes
+				\item[] Since: 1.1.1
+				\item[] Example: \verb=\slogic{\oplus}{a}{b}= will result in: \slogic{\oplus}{a}{b}}
+		\end{itemizeexamplecommand}
+	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
+			\slogicnc{symbol}{arg1}{arg2}[arg3][arg4][arg5][arg6][arg7][arg8]
+			\end{lstlisting}
+			{\scriptsize
+				\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{symbol}: the junctor symbol (math mode is enforced)
+					\item[] \texttt{arg1}: 1st conjunct
+					\item[] \texttt{arg2}: 2nd conjunct
+					\item[] \texttt{argN}: nth conjunct
+				\end{itemizeexamplecommand}
+				\item[] Description: Creating a blank formula with min. 2 arguments but without the general notational convention.
+				\item[] Bold Option: Yes
+				\item[] Since: 1.1.1
+				\item[] Example: \verb=\slogicnc{\oplus}{a}{b}}= will result in:  \slogicnc{\oplus}{a}{b}}
+		\end{itemizeexamplecommand}
+	\xe
 	\subsection{Lambda}
 	This section covers commands for creating lambda functions.
 	\pex\begin{itemizeexamplecommand}
@@ -802,7 +920,8 @@
 				\end{itemizeexamplecommand}
 				\item[] Description: Creating a head for an anonymous function with an optional type.
 				\item[] Bold Option: Yes
-				\item[] Example: \lambh{x}[\type{e}]}
+				\item[] Example: \lambh{x}[\type{e}]
+				\item[] Example: \lambH{x}[\type{e}]}
 		\end{itemizeexamplecommand}
 	\xe
 	\pex\begin{itemizeexamplecommand}
@@ -835,6 +954,36 @@
 	\xe
 	\pex\begin{itemizeexamplecommand}
 			\item[] \begin{lstlisting}[style=B]
+			\lambhu[var][type]
+			\end{lstlisting}
+			{\scriptsize
+				\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{var}: head argument
+					\item[] \texttt{type}: argument type
+				\end{itemizeexamplecommand}
+				\item[] Description: Creating a uniqueness head for an anonymous function with an optional type.
+				\item[] Bold Option: Yes
+				\item[] Since: 1.1.1
+				\item[] Example: \lambhu[x][\type{e}]}
+		\end{itemizeexamplecommand}
+	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
+			\lambhun[var][type]
+			\end{lstlisting}
+			{\scriptsize
+				\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{var}: head argument
+					\item[] \texttt{type}: argument type
+				\end{itemizeexamplecommand}
+				\item[] Description: Creating a negated uniqueness head for an anonymous function with an optional type.
+				\item[] Bold Option: Yes
+				\item[] Since: 1.1.1
+				\item[] Example: \lambhun[x][\type{e}]}
+		\end{itemizeexamplecommand}
+	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
 			\lambha[var][type]
 			\end{lstlisting}
 			{\scriptsize
@@ -842,7 +991,7 @@
 					\item[] \texttt{var}: head argument
 					\item[] \texttt{type}: argument type
 				\end{itemizeexamplecommand}
-				\item[] Description: Creating an universal head for an anonymous function with an optional type.
+				\item[] Description: Creating a universal head for an anonymous function with an optional type.
 				\item[] Bold Option: Yes
 				\item[] Example: \lambha[x][\type{e}]}
 		\end{itemizeexamplecommand}
@@ -923,11 +1072,32 @@
 					\item[] \texttt{argument(def=)}: optional specifier argument.
 					\item[] \texttt{situation(def=\sstar)}: the situation argument.
 				\end{itemizeexamplecommand}
-				\item[] Description: Creates a set
+				\item[] Description: Creates a set.
 				\item[] Bold Option: No
 				\item[] Example: \verb=\cset{Kills}[Peter]= will create the set of every person that got killed by Peter in the situation \sstar, which will look like this: \cset{Kills}[Peter]}
 		\end{itemizeexamplecommand}
 	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
+			\func[name]{domain1}{range1}[domain2][range2][domain3][range3][domain4][range4]
+			\end{lstlisting}
+			{\scriptsize\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{name}: the optional function name.
+					\item[] \texttt{domain1}: the first domain.
+					\item[] \texttt{range1}: the first range.
+					\item[] \texttt{domain2}: the optional second domain.
+					\item[] \texttt{range2}: the optional second range.
+					\item[] \texttt{domain3}: the optional third domain.
+					\item[] \texttt{range3}: the optional third range.
+					\item[] \texttt{domain4}: the optional fourth domain.
+					\item[] \texttt{range4}: the optional fourth range.
+				\end{itemizeexamplecommand}
+				\item[] Description: Creates a function in array notation. This command can be nested. It is a \her{quick and dirty} version of the \textit{fglfunc} environment and should only be used for small functions. Problems regarding vertical spacing can arise when creating bigger functions via nesting, in that case use Environment \ref{env:fglfunc} and change the spacing parameter.
+				\item[] Since: 1.1.1
+				\item[] Example: \verb=\func[A]{\szero}{B}[\sone][C][\stwo][D]= will create:\\\func[A]{\szero}{B}[\sone][C][\stwo][D]
+				\item[] Example: \verb=\func[B]{a}{1}[b][1][c][\func{x}{1}[y][2][x][3]]= will create:\\\func[B]{a}{1}[b][1][c][\func{x}{1}[y][2][x][3]]}
+		\end{itemizeexamplecommand}
+	\xe
 	\subsubsection{Direct Interpretation}
 	This section covers commands for direct semantic interpretation.
 	\pex\begin{itemizeexamplecommand}
@@ -1284,7 +1454,7 @@
 			\end{lstlisting}
 			{\scriptsize
 				\item[] Arguments: None
-				\item[] Description: Creates an environment that represents a question. If the \textit{showanswer} package argument is set to \textit{true}, the content within this environment will be displayed in light gray; otherwise, it will appear in black. \color{dunkelgrau}example text\color{black}\ 
+				\item[] Description: Creates an environment that represents a question. If the \textit{showanswer} package argument is set to \textit{true}, the content within this environment will be displayed in light gray; otherwise, it will appear in black. \color{fglquestioncolor}example text\color{black}\ 
 				\item[] New Commands: No
 				\item[] Restricted: No
 				\item[] Example: \verb=\begin{question}How does the knights move?\end{question}=}
@@ -1304,12 +1474,105 @@
 				\item[] Example: \\\verb=\begin{awnser}It generally moves like an L and sometimes in blitz games it can be very unpredictable.\end{awnser}=}
 		\end{itemizeexamplecommand}
 	\xe
+	\subsection{fglfunc}\label{env:fglfunc}
+	The \textit{fglfunc} environment should be used to create large functions in array notaion. This env. supports nesting. The \textit{fgls} and \textit{cps} environments are not enabled. When nesting multiple times it is recommended to change the vertical spacing to at least 14. Be carefull with linebreaks within the env. as this can result in an additional blank row or compiling errors!
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
+			\begin{fglfunc}[functionName][verticalSpacing][domainMode]
+				content...
+			\end{fglfunc}
+			\end{lstlisting}
+			{\scriptsize
+				\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{functionName}: The main function name.
+					\item[] \texttt{verticalSpacing(def=10)}: The vertical spacing between each row.
+					\item[] \texttt{domainMode(def=n)}: The text formatting mode of the domains.
+				\end{itemizeexamplecommand}
+				\item[] Description: Creates an environment for fast and easy function creation. Possible domain modes are \textit{n/m/b} which stand for \textit{normal}, \textit{mathmode}, and \textit{bold}. They will effect the text formatting of each domain.
+				\item[] New Commands: Yes
+				\item[] Restricted: No
+				\item[] Since: 1.1.1
+				\item[] Example: See below.}
+		\end{itemizeexamplecommand}
+	\xe
+	\\Example for a short nested function K:
+	\begin{lstlisting}[style=B]
+			\begin{fglfunc}[\sde{kisses}][15]
+					\f{Peter}{
+					\b{
+						\f{Peter}{0}
+						\f{Maria}{1}
+						\f{Frida}{0}}\d}
+					\f{Maria}{
+					\b{
+						\f{Peter}{0}
+						\f{Maria}{0}
+						\f{Frida}{0}}\d}
+					\d
+			\end{fglfunc}
+	\end{lstlisting}
+	The code above will result in the following array structure:\\
+	\begin{fglfunc}[\sde{kisses}][15]
+						\f{Peter}{
+						\b{
+							\f{Peter}{0}
+							\f{Maria}{1}
+							\f{Frida}{0}\d}}
+						\f{Maria}{
+						\b{
+							\f{Peter}{1}
+							\f{Maria}{0}
+							\f{Frida}{0}\d}}
+						\d
+	\end{fglfunc}
+	\subsubsection{Commands}
+	A few short commands are provided for fast and easy to read code.
+	\pex\begin{itemizeexamplecommand}
+			\item[]
+			\begin{lstlisting}[style=B]
+			\f{domain}{range}
+			\end{lstlisting}
+			{\scriptsize\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{domain}: The domain.
+					\item[] \texttt{range}: the range.
+				\end{itemizeexamplecommand}
+				\item[] Description: Will create a new row in the array representing an assignment.
+			}
+		\end{itemizeexamplecommand}
+	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[]
+			\begin{lstlisting}[style=B]
+			\b{function}[functionName]
+			\end{lstlisting}
+			{\scriptsize\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{function}: A nested function.
+					\item[] \texttt{functionName}: The nested function name.
+				\end{itemizeexamplecommand}
+				\item[] Description: Will create a box with left and right brackets for a new nested function. To manually add left or right brackets you can use \verb=\l= and \verb=\r=. Do not add line breaks inside the box command.
+			}
+		\end{itemizeexamplecommand}
+	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[]
+			\begin{lstlisting}[style=B]
+			\d[domain][symbol][range]
+			\end{lstlisting}
+			{\scriptsize\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{domain(def=$\vdots$)}: An optional domain.
+					\item[] \texttt{symbol}: The function symbol.
+					\item[] \texttt{range}: An optional range.
+				\end{itemizeexamplecommand}
+				\item[] Description: Will create a new row with optional parameters. Should be used to indicate infinity or to add comments.
+			}
+		\end{itemizeexamplecommand}
+	\xe
 	\subsection{cps}
 	The colored parentheses environment is designed to improve readability in semantic derivations. Most modern integrated development environments feature a similiar feature/plugin - called rainbow brackets. Parentheses on the same nesting level will receive the same color. Currently only \zit{()} are supported. After five levels of nesting the colors will repeat. Currently the feature is limited to parentheses directly written in the environment, those inserted by commands will not be affected (work in progress).
 	\pex\begin{itemizeexamplecommand}
 			\item[] \begin{lstlisting}[style=B]
 			\begin{cps}
-			content...
+				scontent...
 			\end{cps}
 			\end{lstlisting}
 			{\scriptsize
@@ -1325,7 +1588,7 @@
 	\pex\begin{itemizeexamplecommand}
 			\item[] \begin{lstlisting}[style=B]
 			\begin{fgls}[situation]
-			content...
+				content...
 			\end{fgls}
 			\end{lstlisting}
 			{\scriptsize
@@ -1337,158 +1600,189 @@
 				\item[] Restricted: No}
 		\end{itemizeexamplecommand}
 	\xe
+	\pex\begin{itemizeexamplecommand}
+			\item[] \begin{lstlisting}[style=B]
+			\fglsem[situation][formulae]
+			\end{lstlisting}
+			{\scriptsize\item[] Arguments:\begin{itemizeexamplecommand}
+					\item[] \texttt{situation(def=\sstar)}: The situation which will be displayed on all commands that make use of a situation (e.g. \verb=\e{}=).
+					\item[] \texttt{formulae}: The semantic formulae.
+				\end{itemizeexamplecommand}
+				\item[] Description: Command wrapper for the \textit{fgls} environment. Should be used for short formulae. Will remove initial indent.
+				\item[] Since: 1.1.1
+			}
+	\end{itemizeexamplecommand}
+	\xe
 	\subsubsection{Constants}
-	This section will list all pre-defined commands acting as constants for common types or general symbols in fragoli-semantics environment.
+	This section will list all pre-defined commands acting as constants for common types or general symbols in the \textit{fgls} environment.
 	\begin{enumerate}
 		\item Object Language\\\verb=\or= is currently not available.
 		\begin{center}
-			\begin{minipage}[h][8.7cm][t]{15em}
+			\begin{minipage}[h][4.8cm][t]{15em}
 				\begin{lstlisting}[style=B]
 			\ox
-			\oX
 			\oy
-			\oY
 			\oz
-			\oZ
 			\oi
-			\oI
+			\oj
 			\os
-			\oS
 			\oR
 			\oq
-			\oQ
 			\op
-			\oP
 			\x
-			\X
 			\y
-			\Y
 			\z
-			\Z
 				\end{lstlisting}
 			\end{minipage}
-			\begin{minipage}[h][8.7cm][t]{15em}
+			\begin{minipage}[h][4.8cm][t]{15em}
 				\begin{fgls}
 					\ \\
 					\ox\\
-					\oX\\
 					\oy\\
-					\oY\\
 					\oz\\
-					\oZ\\
 					\oi\\
-					\oI\\
+					\oj\\
 					\os\\
-					\oS\\
 					\oR\\
 					\oq\\
-					\oQ\\
 					\op\\
-					\oP\\
 					\x\\
-					\X\\
 					\y\\
-					\Y\\
-					\z\\
-					\Z
+					\z
 				\end{fgls}
 			\end{minipage}
 		\end{center}
+		Each object language constant exists in two forms: lowercase and uppercase. The uppercase version is represented by capitalizing the second letter of the command. Additionally, each constant has a secondary mode that automatically adds a space following the constant. To activate this mode, capitalize the first letter of the command. Both forms can be used simultaneously. The letters x, y, and z have special single-character commands, as they are the most commonly used. As a trade-off, these letters do not have a secondary mode that automatically appends a space.
 		\item Meta Language
 		\begin{center}
-			\begin{minipage}[h][7cm][t]{15em}
+			\begin{minipage}[h][5.2cm][t]{15em}
 				\begin{lstlisting}[style=B]
 			\mx
-			\mX
 			\my
-			\mY
 			\mz
-			\mZ
 			\mi
-			\mI
+			\mj
 			\ms
-			\mS
 			\mr
-			\mR
 			\mp
-			\mP
 			\mq
-			\mQ
+			\mu
+			\mv
 				\end{lstlisting}
 			\end{minipage}
-			\begin{minipage}[h][7cm][t]{15em}
+			\begin{minipage}[h][5.2cm][t]{15em}
 				\begin{fgls}
 					\ \\
 					\mx\\
-					\mX\\
 					\my\\
-					\mY\\
 					\mz\\
-					\mZ\\
 					\mi\\
-					\mI\\
+					\mj\\
 					\ms\\
-					\mS\\
 					\mr\\
-					\mR\\
 					\mp\\
-					\mP\\
 					\mq\\
-					\mQ
+					\mu\\
+					\mv
 				\end{fgls}
 			\end{minipage}
 		\end{center}
+		Each meta language constant exists in two forms: lowercase and uppercase. The uppercase version is represented by capitalizing the second letter of the command. Additionally, each constant has a secondary mode that automatically adds a space following the constant. To activate this mode, capitalize the first letter of the command. Both forms can be used simultaneously. For advanced existential quantifiers see Section \ref{sub:quantorcommands}.
 		\item Logic \begin{center}
-			\begin{minipage}[h][8.6cm][t]{15em}
+			\begin{minipage}[h][8cm][t]{15em}
 				\begin{lstlisting}[style=B]
 			\qe
-			\qE
 			\qu
-			\qU
 			\qa
-			\qA
 			\jn
-			\jN
-			\jk
-			\jK
+			\jc
 			\jd
-			\jD
 			\ji
-			\jI
-			\ci
-			\cI
-			\cd
-			\cD
-			\ce
-			\cE
+			\jj
+			\jx
+			\jb
+			\jp
+			\jt
+			\jf
+			\je
+			\jo
 				\end{lstlisting}
 			\end{minipage}
-			\begin{minipage}[h][8.6cm][t]{15em}
+			\begin{minipage}[h][8cm][t]{15em}
 				\begin{fgls}
 					\ \\
 					\qe\\
-					\qE\\
 					\qu\\
-					\qU\\
 					\qa\\
-					\qA\\
 					\jn\\
-					\jN\\
-					\jk\\
-					\jK\\
+					\jc\\
 					\jd\\
-					\jD\\
 					\ji\\
-					\jI\\
+					\jj\\
+					\jx\\
+					\jb\\
+					\jp\\
+					\jt\\
+					\jf\\
+					\je\\
+					\jo
+				\end{fgls}
+			\end{minipage}
+			
+		\end{center}
+		Every logic constant exists in two versions, normal and bold. For the bold version just write the second letter in uppercase. All junctor constants have a second mode that automatically adds a space behind them. To use this mode just write the first letter in uppercase. Both versions can be combined.
+		\item Set theory \begin{center}
+			\begin{minipage}[h][4cm][t]{15em}
+				\begin{lstlisting}[style=B]
+			\ci
+			\cd
+			\ce
+			\cb
+			\cq
+			\ca
+			\cu
+				\end{lstlisting}
+			\end{minipage}
+			\begin{minipage}[h][4cm][t]{15em}
+				\begin{fgls}
+					\ \\
 					\ci\\
-					\cI\\
 					\cd\\
-					\cD\\
 					\ce\\
-					\cE
+					\cb\\
+					\cq\\
+					\ca\\
+					\cu
 				\end{fgls}
 			\end{minipage}
 		\end{center}
+		Every set notation exists in two versions, normal and bold. For the bold version just write the second letter in uppercase. All operators have a second mode that automatically adds a space behind them. To use this mode just write the first letter in uppercase. Both versions can be combined.
+		\item Relations \begin{center}
+			\begin{minipage}[h][4cm][t]{15em}
+				\begin{lstlisting}[style=B]
+			\rn
+			\rg
+			\rl
+			\rp
+			\rpe
+			\rs
+			\rse
+				\end{lstlisting}
+			\end{minipage}
+			\begin{minipage}[h][4cm][t]{15em}
+				\begin{fgls}
+					\ \\
+					\rn\\
+					\rg\\
+					\rl\\
+					\rp\\
+					\rpe\\
+					\rs\\
+					\rse
+				\end{fgls}
+			\end{minipage}
+		\end{center}
+		Every relation operator exists in two versions, normal and bold. For the bold version just write the last letter in uppercase. All operators have a second mode that automatically adds a space behind them. To use this mode just write the first letter in uppercase. Both versions can be combined.
 		\item Arguments Variable
 		\begin{center}
 			\begin{minipage}[h][8cm][t]{15em}
@@ -1635,32 +1929,27 @@
 		\item Situations
 		\\\verb=\cs= will always return the current situation set in the current fgls env. (def=\sstar)
 		\begin{center}
-			\begin{minipage}[h][3.5cm][t]{15em}
+			\begin{minipage}[h][2.5cm][t]{15em}
 				\begin{lstlisting}[style=B]
 			\ss
-			\sS
 			\sz
-			\sZ
 			\so
-			\sO
 			\st
-			\sT
+			\si
 				\end{lstlisting}
 			\end{minipage}
-			\begin{minipage}[h][3.5cm][t]{15em}
+			\begin{minipage}[h][2.5cm][t]{15em}
 				\begin{fgls}
 					\ \\
 					\ss\\
-					\sS\\
 					\sz\\
-					\sZ\\
 					\so\\
-					\sO\\
 					\st\\
-					\sT
+					\si
 				\end{fgls}
 			\end{minipage}
 		\end{center}
+	Each situation constant exists in two forms: normal and bold. The bold version is represented by capitalizing the second letter of the command. Additionally, each situation constant has a secondary mode, which automatically adds a space following the constant. To activate this mode, capitalize the first letter of the command. Both forms can be used simultaneously. It is important to note that the symbol \textit{i} has a special rule: when the first letter is lowercase, the constant is always represented in subscript, while the version with an uppercase first letter is treated as a normal variable with an added space at the end.
 	\end{enumerate}
 	\subsubsection{Commands}
 		Text-Commands:
@@ -1928,9 +2217,9 @@
 						\item[] \texttt{arg}:  Set-builder notation
 						\item[] \texttt{var(def=x)}: Varibale name and/or domain specifier
 					\end{itemizeexamplecommand}
-					\item[] Description: Shortcut for \verb=\set[var]{arg}=
+					\item[] Description: Shortcut for \verb=\set[var]{arg}=. To write the set variable use \verb=\sv= or \\\verb=\Sv= for the version with an extra space appended.
 					\item[] Bold Option: Yes
-					\item[] Example: \set[x]{\textit{x} is a dog}}
+					\item[] Example: \verb=\s{\Sv is a dog}=  will result in: \set{\Setvar is a dog}}
 			\end{itemizeexamplecommand}
 		\xe
 		\pex\begin{itemizeexamplecommand}
@@ -2107,6 +2396,68 @@
 					\item[] Example: \sidrrr{Dog}{r}{d}{t}}
 			\end{itemizeexamplecommand}
 		\xe
+		Quantifier-Commands:\label{sub:quantorcommands}
+		\pex\begin{itemizeexamplecommand}
+				\item[]
+				\begin{lstlisting}[style=B]
+			\qe[relation][value]
+				\end{lstlisting}
+				{\scriptsize\item[] Arguments:\begin{itemizeexamplecommand}
+						\item[] \texttt{relation}:  the mathematical relation (mathmode already enabled)
+						\item[] \texttt{value}:  the numerical value
+					\end{itemizeexamplecommand}
+					\item[] Description: Creates an existential quantifier with additional parameters.
+					\item[] Bold Option: Yes
+					\item[] Space Option: Yes	
+					\item[] Since: 1.1.1				
+					\item[] Example: \vbox{\begin{fgls}\qE[>][1]\end{fgls}}}
+			\end{itemizeexamplecommand}
+		\xe
+		\pex\begin{itemizeexamplecommand}
+				\item[]
+				\begin{lstlisting}[style=B]
+			\qeg[value]
+				\end{lstlisting}
+				{\scriptsize\item[] Arguments:\begin{itemizeexamplecommand}
+						\item[] \texttt{value(def=2)}:  the numerical value
+					\end{itemizeexamplecommand}
+					\item[] Description: Creates an existential quantifier with a greater than or equal to paramter.
+					\item[] Bold Option: Yes
+					\item[] Space Option: Yes
+					\item[] Since: 1.1.1
+					\item[] Example: \vbox{\begin{fgls}\qeg\end{fgls}}}
+			\end{itemizeexamplecommand}
+		\xe
+		\pex\begin{itemizeexamplecommand}
+				\item[]
+				\begin{lstlisting}[style=B]
+			\qes[value]
+				\end{lstlisting}
+				{\scriptsize\item[] Arguments:\begin{itemizeexamplecommand}
+						\item[] \texttt{value(def=2)}:  the numerical value
+					\end{itemizeexamplecommand}
+					\item[] Description: Creates an existential quantifier with a smaller than or equal to paramter.
+					\item[] Bold Option: Yes
+					\item[] Space Option: Yes
+					\item[] Since: 1.1.1
+					\item[] Example: \vbox{\begin{fgls}\qes\end{fgls}}}
+			\end{itemizeexamplecommand}
+		\xe
+		\pex\begin{itemizeexamplecommand}
+				\item[]
+				\begin{lstlisting}[style=B]
+			\qee[value]
+				\end{lstlisting}
+				{\scriptsize\item[] Arguments:\begin{itemizeexamplecommand}
+						\item[] \texttt{value(def=2)}:  the numerical value
+					\end{itemizeexamplecommand}
+					\item[] Description: Creates an existential quantifier with an equal to paramter.
+					\item[] Bold Option: Yes
+					\item[] Space Option: Yes
+					\item[] Since: 1.1.1
+					\item[] Example: \vbox{\begin{fgls}\qee\end{fgls}}}
+			\end{itemizeexamplecommand}
+		\xe
 	\subsection{semderivation}
 	The \textit{semantic-derivation} environment is the heart of the \FraGoLi\ package and is used for fast and easy derivation of a direct or indirect semantic expressions. The \textit{fgls} and \textit{cps} env. are enabled automatically.
 	\pex\begin{itemizeexamplecommand}
@@ -2125,10 +2476,12 @@
 		\end{itemizeexamplecommand}
 	\xe
 	\subsubsection{Constants}
-	This section lists all predefined commands that serve as constants for common derivation steps within the \textit{semderi} environment. These commands are intended to be used as sidenotes. If the language is changed via the package options, the constants will be automatically translated.
+	This section lists all predefined commands that serve as constants for common derivation steps within the \textit{semderivation} environment. These commands are intended to be used as sidenotes. If the language is changed via the package options, the constants will be automatically translated and abbreviated. Some of these are interchangeable.
 	\begin{center}
-		\begin{minipage}[h][3.8cm][t]{15em}
+		\begin{minipage}[h][4.6cm][t]{15em}
 			\begin{lstlisting}[style=B]
+			\alp
+			\bta
 			\fa
 			\abs
 			\mod
@@ -2140,18 +2493,20 @@
 			\lex
 			\end{lstlisting}
 		\end{minipage}
-		\begin{minipage}[h][3.8cm][t]{15em}
+		\begin{minipage}[h][4.6cm][t]{15em}
 			\begin{fgls}
 				\ \\
-				App\\
-				Abs\\
-				Mod\\
-				Var\\
+				\ensuremath{\alpha}-conversion\\
+				\ensuremath{\beta}-reduction\\
+				Functional application\\
+				Abstraction\\
+				Modification\\
+				Variable assignment\\
 				Con\\
 				Id\\
-				\ensuremath{\lambda}-Conv.\\
-				Not. Conv.\\
-				Lex
+				\ensuremath{\lambda}-conversion\\
+				Notation convention\\
+				lexical trees
 			\end{fgls}
 		\end{minipage}
 	\end{center}
@@ -2181,7 +2536,7 @@
 			}
 		\end{itemizeexamplecommand}
 	\xe
-	\subsection{semcalc}
+	\subsection{semcalc}\label{sec:semcalc}
 	The \textit{semantic-calculation} environment is designed to improve speed and to provide a clear structure for a full semantic derivation. If not specified otherwise via a package option, \textit{cps} is enabled in the \textit{semderi} environment. The \textit{fgls} shortcuts are enabled.
 	
 	\pex\begin{itemizeexamplecommand}
@@ -3549,6 +3904,19 @@
 	This env. has the same new commands as the \textit{semderivation} env.
 	\section{Changelog}
 	\begin{itemize}
+		\item[1.1.1] 
+				\begin{enumerate}
+					\item[-] Fix missing package dependency.
+					\item[-] Fix text overline overriding uuline internal length.
+					\item[-] Fix parentheses on lambda quantifier heads being bold in non bold mode.
+					\item[-] Add lambdaheadstyle package option.
+					\item[-] Add new fuction framework.
+					\item[-] Add new logic commands.
+					\item[-] Add new logic constants.
+					\item[-] Add new relation constants.
+					\item[-] Add new quantifier commands.
+					\item[-] Extend set command.
+				\end{enumerate}
 		\item[1.0.0] 
 		\begin{enumerate}
 			\item[-] Initial release.

Modified: trunk/Master/texmf-dist/tex/latex/fragoli/fragoli.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/fragoli/fragoli.sty	2025-03-29 19:43:53 UTC (rev 74787)
+++ trunk/Master/texmf-dist/tex/latex/fragoli/fragoli.sty	2025-03-29 19:44:06 UTC (rev 74788)
@@ -1,8 +1,10 @@
-% FraGoLi v. 1.0.0 y. 2025
+% FraGoLi v. 1.1.1 y. 2025
 % 
-% (c) 2025 Paul Eduard Koenig
+% Copyright (C) 2025 Paul Eduard Koenig
 % pauleduardkoenig (at) gmail [dot] com
 % Goethe University Frankfurt, Institute of Linguistics
+%
+% --------------------------------
 % 
 % O))))))))                    O))))             O))
 % O))                        O)    O))           O))       O)
@@ -11,9 +13,11 @@
 % O))       O))   O))   O)) O))   O))))O))    O))O))      O))
 % O))       O))   O))   O))  O))    O)  O))  O)) O))      O))
 % O))      O)))     O)) O)))  O)))))      O))    O))))))))O))
+%
+% --------------------------------
 % 
 % The package is mainly designed for the semantics department and focuses on providing a minimal syntax for fast formula derivation.
-% Formula-Style is losely based on the accompanying material to an introductory course to linguistic semantics by Prof. Dr. Thomas Ede Zimmermann
+% Formula-Style is losely based on the accompanying material to an introductory course to linguistic semantics by Thomas Ede Zimmermann
 % 
 % This file may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either
@@ -23,12 +27,16 @@
 % and version 1.3c or later is part of all distributions of
 % LaTeX version 2008-05-04 or later.
 % 
+% This work has the LPPL maintenance status `maintained'.
+% The Current Maintainer of this work is Paul Eduard Koenig.
+% This work consists of the files fragoli.sty and fragoli_doc.tex
+%
 % ------------------------------------------------------------ 
 % header
 % ------------------------------------------------------------ 
 \NeedsTeXFormat{LaTeX2e}[1994/06/01]
-\ProvidesPackage{fragoli}[2025-03-17 v. 1.0.0 LaTeX package for the institute of linguistics at Goethe University Frankfurt]
-\RequirePackage{xparse, xcolor, enumitem, nicefrac, bm, amsmath, xstring, pdftexcmds, etoolbox, kvoptions, comment}
+\ProvidesPackage{fragoli}[2025-03-28 v. 1.1.1 LaTeX package for the institute of linguistics at Goethe University Frankfurt]
+\RequirePackage{xparse, xcolor, stmaryrd, enumitem, nicefrac, bm, amsmath, amssymb, xstring, expl3, pdftexcmds, etoolbox, kvoptions, comment}
 \RequirePackage[normalem]{ulem}
 % ------------------------------------------------------------ 
 % options
@@ -39,6 +47,7 @@
 }
 \DeclareStringOption[english]{language}
 \DeclareStringOption[normal]{typestyle}
+\DeclareStringOption[normal]{lambdaheadstyle}
 \DeclareStringOption[\sblank]{rulesituation}
 \DeclareStringOption[\sstar]{situation}
 \DeclareBoolOption{usetypes}
@@ -53,16 +62,16 @@
 % option actions
 % ------------------------------
 \ifFGL at userainbow
-	\definecolor{fglcpcolor0}{RGB}{000, 000, 000}
-	\definecolor{fglcpcolor1}{RGB}{000, 000, 000} 
-	\definecolor{fglcpcolor2}{RGB}{000, 000, 000}
-	\definecolor{fglcpcolor3}{RGB}{000, 000, 000}
-	\definecolor{fglcpcolor4}{RGB}{000, 000, 000}
-	\definecolor{fglcpcolor5}{RGB}{000, 000, 000} 
+\definecolor{fglcpcolor0}{RGB}{000, 000, 000}
+\definecolor{fglcpcolor1}{RGB}{000, 000, 000} 
+\definecolor{fglcpcolor2}{RGB}{000, 000, 000}
+\definecolor{fglcpcolor3}{RGB}{000, 000, 000}
+\definecolor{fglcpcolor4}{RGB}{000, 000, 000}
+\definecolor{fglcpcolor5}{RGB}{000, 000, 000} 
 \fi
 
 \ifFGL at usedscount
-	\definecolor{deivationrowcountcolor}{rgb}{255,255,255}
+\definecolor{fgldeivationrowcountcolor}{rgb}{255,255,255}
 \fi
 
 \let\fgslisinfgls\@fglsundefined
@@ -92,12 +101,12 @@
 \newcommand{\@typest}{}
 \newcommand{\@typeeet}{}
 \ifFGL at usetypes
-	\renewcommand{\@typet}{\type{t}}
-	\renewcommand{\@typee}{\type{e}}
-	\renewcommand{\@types}{\type{s}}
-	\renewcommand{\@typeet}{\type{et}}
-	\renewcommand{\@typest}{\type{st}}
-	\renewcommand{\@typeeet}{\type{e\type{et}}}
+\renewcommand{\@typet}{\type{t}}
+\renewcommand{\@typee}{\type{e}}
+\renewcommand{\@types}{\type{s}}
+\renewcommand{\@typeet}{\type{et}}
+\renewcommand{\@typest}{\type{st}}
+\renewcommand{\@typeeet}{\type{e\type{et}}}
 \fi
 
 % ------------------------------
@@ -114,8 +123,9 @@
 \newcommand{\@fragolivartreesem}{Tree (semantic)}
 \newcommand{\@fragolivartreesyn}{Tree (syntax)}
 \newcommand{\@fragolivarlanguage}{Language}
-\newcommand{\@fragolivarconversion}{Conv.}
-\newcommand{\@fragolivarnotationconvention}{Not. Conv.}
+\newcommand{\@fragolivarconversion}{conv.}
+\newcommand{\@fragolivarreduction}{red.}
+\newcommand{\@fragolivarnotationconvention}{not. conv.}
 \newcommand{\@fragolivarand}{and}
 \newcommand{\@fragolivaror}{or}
 \newcommand{\@fragolivarno}{no-}
@@ -145,48 +155,50 @@
 \newcommand{\@fragolivarlexattdoxterm}{doxastic}
 \newcommand{\@fragolivarlexattepiterm}{epistemic}
 \newcommand{\@fragolivarlexattbouterm}{bouletic}
+
 % set those labels according to the set language (if different than english)
 \def\@fragoliconstlgerman{german}
 \ifx\FGL at language\@fragoliconstlgerman
-	\renewcommand{\@fragolivarlexicon}{Lexikon}
-	\renewcommand{\@fragolivarrules}{Regeln}
-	\renewcommand{\@fragolivarrulessyn}{Regeln (Syntax)}
-	\renewcommand{\@fragolivarderivation}{Ableitung}
-	\renewcommand{\@fragolivartree}{Baum}
-	\renewcommand{\@fragolivartreesem}{Baum (Semantik)}
-	\renewcommand{\@fragolivartreesyn}{Baum (Syntax)}
-	\renewcommand{\@fragolivarlanguage}{Sprache}
-	\renewcommand{\@fragolivarconversion}{Konv.}
-	\renewcommand{\@fragolivarnotationconvention}{Not.}
-	\renewcommand{\@fragolivarand}{und}
-	\renewcommand{\@fragolivaror}{oder}
-	\renewcommand{\@fragolivarno}{kein-}
-	\renewcommand{\@fragolivaroneindef}{ein-\textsubscript{\textit{ind}}}
-	\renewcommand{\@fragolivaronenum}{ein-\textsubscript{\textit{num}}}
-	\renewcommand{\@fragolivarevery}{jed-}
-	\renewcommand{\@fragolivarmost}{die meisten}
-	\renewcommand{\@fragolivardefarticle}{d-\textsubscript{\textit{\text{R.}}}}
-	\renewcommand{\@fragolivarlof}{von}
-	\renewcommand{\@fragolivarlis}{ist}
-	\renewcommand{\@fragolivarlarticle}{ein}
-	\renewcommand{\@fragolivarlarticlen}{eine}
-	\renewcommand{\@fragolivarlarticlegermanswitch}{\@fragolivarlarticlen}
-	\renewcommand{\@fragolivarlarticlegermanswitchn}{\@fragolivarlarticle}
-	\renewcommand{\@fragolivarlexbool}[2][\@fragolivarlarticle]{ist #1 #2 in}
-	\renewcommand{\@fragolivarlexwoman}{Frau}
-	\renewcommand{\@fragolivarlexman}{Mann}
-	\renewcommand{\@fragolivarlexdog}{Hund}
-	\renewcommand{\@fragolivarlexcat}{Katze}
-	\renewcommand{\@fragolivarlexdonkey}{Esel}
-	\renewcommand{\@fragolivarlexhouse}{Haus}
-	\renewcommand{\@fragolivarlexanimal}{Tier}
-	\renewcommand{\@fragolivarlexchild}{Kind}
-	\renewcommand{\@fragolivarlexattdox}{meint}
-	\renewcommand{\@fragolivarlexattepi}{wei\sss}
-	\renewcommand{\@fragolivarlexattbou}{will}
-	\renewcommand{\@fragolivarlexattdoxterm}{doxastische}
-	\renewcommand{\@fragolivarlexattepiterm}{epistemische}
-	\renewcommand{\@fragolivarlexattbouterm}{bouletische}
+\renewcommand{\@fragolivarlexicon}{Lexikon}
+\renewcommand{\@fragolivarrules}{Regeln}
+\renewcommand{\@fragolivarrulessyn}{Regeln (Syntax)}
+\renewcommand{\@fragolivarderivation}{Ableitung}
+\renewcommand{\@fragolivartree}{Baum}
+\renewcommand{\@fragolivartreesem}{Baum (Semantik)}
+\renewcommand{\@fragolivartreesyn}{Baum (Syntax)}
+\renewcommand{\@fragolivarlanguage}{Sprache}
+\renewcommand{\@fragolivarconversion}{Konv.}
+\renewcommand{\@fragolivarreduction}{Konv.}
+\renewcommand{\@fragolivarnotationconvention}{Not.}
+\renewcommand{\@fragolivarand}{und}
+\renewcommand{\@fragolivaror}{oder}
+\renewcommand{\@fragolivarno}{kein-}
+\renewcommand{\@fragolivaroneindef}{ein-\textsubscript{\textit{ind}}}
+\renewcommand{\@fragolivaronenum}{ein-\textsubscript{\textit{num}}}
+\renewcommand{\@fragolivarevery}{jed-}
+\renewcommand{\@fragolivarmost}{die meisten}
+\renewcommand{\@fragolivardefarticle}{d-\textsubscript{\textit{\text{R.}}}}
+\renewcommand{\@fragolivarlof}{von}
+\renewcommand{\@fragolivarlis}{ist}
+\renewcommand{\@fragolivarlarticle}{ein}
+\renewcommand{\@fragolivarlarticlen}{eine}
+\renewcommand{\@fragolivarlarticlegermanswitch}{\@fragolivarlarticlen}
+\renewcommand{\@fragolivarlarticlegermanswitchn}{\@fragolivarlarticle}
+\renewcommand{\@fragolivarlexbool}[2][\@fragolivarlarticle]{ist #1 #2 in}
+\renewcommand{\@fragolivarlexwoman}{Frau}
+\renewcommand{\@fragolivarlexman}{Mann}
+\renewcommand{\@fragolivarlexdog}{Hund}
+\renewcommand{\@fragolivarlexcat}{Katze}
+\renewcommand{\@fragolivarlexdonkey}{Esel}
+\renewcommand{\@fragolivarlexhouse}{Haus}
+\renewcommand{\@fragolivarlexanimal}{Tier}
+\renewcommand{\@fragolivarlexchild}{Kind}
+\renewcommand{\@fragolivarlexattdox}{meint}
+\renewcommand{\@fragolivarlexattepi}{wei\sss}
+\renewcommand{\@fragolivarlexattbou}{will}
+\renewcommand{\@fragolivarlexattdoxterm}{doxastische}
+\renewcommand{\@fragolivarlexattepiterm}{epistemische}
+\renewcommand{\@fragolivarlexattbouterm}{bouletische}
 \fi
 % ------------------------------
 % define types style:
@@ -196,24 +208,28 @@
 % ------------------------------
 \newcommand{\@fragolitpnl}{\ensuremath{\langle}}
 \newcommand{\@fragolitpnr}{\ensuremath{\rangle}}
-\let\type\@fglsundefined
 \DeclareDocumentCommand{\type}{m}{\@fragolitpnl\!\ensuremath{#1}\!\@fragolitpnr}
-\def\@fragoliconsttsclassic{classic}
-\ifx\FGL at typestyle\@fragoliconsttsclassic
+\def\@fragoliparatypestyleclassic{classic}
+\ifx\FGL at typestyle\@fragoliparatypestyleclassic
 \DeclareDocumentCommand{\type}{m}{(\ensuremath{#1})}
 \fi
+\def\@fragoliparatypestylealternative{alternative}
+\ifx\FGL at typestyle\@fragoliparatypestylealternative
+\DeclareDocumentCommand{\type}{m}{\ensuremath{<}\ensuremath{#1}\ensuremath{>}}
+\fi
 
-		
+
 % ------------------------------------------------------------ 
 % constants
 % ------------------------------------------------------------ 
 
+\newcommand{\@fglsetspacer}{:}
 
 % ------------------------------
 % traces
 % ------------------------------
 
-\DeclareDocumentCommand{\trace}{m O{\textit{t}}}{\text{\textit{#2}\textsubscript{{\normalfont \textit{#1}}}} }
+\DeclareDocumentCommand{\trace}{m O{\textit{t}}}{\text{\textit{#2}\textsubscript{{\normalfont \textit{#1}}}}}
 \DeclareDocumentCommand{\tracE}{m O{\textit{t}}}{\text{\textbf{#2}\textsubscript{\textit{#1}}}}
 \DeclareDocumentCommand{\tracex}{O{\textit{t}}}{\trace{\textit{x}}[#1]}
 \DeclareDocumentCommand{\tracEx}{O{\textit{t}}}{\tracE{\textit{x}}[#1]}
@@ -454,11 +470,19 @@
 \definecolor{fglcpcolor4}{RGB}{156, 194, 50}  % Level 3
 \definecolor{fglcpcolor5}{RGB}{000, 204, 000} % Level 3
 
-\definecolor{dunkelgrau}{rgb}{0.72,0.72,0.72}
+\definecolor{fglquestioncolor}{rgb}{0.72,0.72,0.72}
 \definecolor{grau}{rgb}{0.85,0.85,0.85}
 \definecolor{hellgrau}{rgb}{0.95,0.95,0.95}
-\definecolor{deivationrowcountcolor}{rgb}{0.72,0.72,0.72}
+\definecolor{fgldeivationrowcountcolor}{rgb}{0.72,0.72,0.72}
 
+% ------------------------------------------------------------ 
+% internal variables
+% ------------------------------------------------------------ 
+\let\setvar\@fglsundefined
+\newcommand{\setvar}{\ensuremath{\IfSubStr{\!\romannumeral-`\0\@fglssetvariable}{ }{\StrBefore{\romannumeral-`\0\@fglssetvariable}{ }}{\romannumeral-`\0\@fglssetvariable}}}
+\let\Setvar\@fglsundefined
+\newcommand{\Setvar}{\setvar\ }
+
 % ------------------------------------------------------------
 % Commands
 % ------------------------------------------------------------
@@ -465,8 +489,10 @@
 % ------------------------------
 % Text
 % ------------------------------
-\DeclareDocumentCommand{\oO}{m}{\setlength{\ULdepth}{-2.5ex}\uuline{#1}}
-\DeclareDocumentCommand{\oo}{m O{-2ex}}{\setlength{\ULdepth}{#2}\uuline{#1}}
+\newlength{\@fglULdepthbackup}
+\setlength{\@fglULdepthbackup}{\ULdepth}
+\DeclareDocumentCommand{\oO}{m}{\setlength{\ULdepth}{-2.5ex}\uuline{#1}\setlength{\ULdepth}{\@fglULdepthbackup}}
+\DeclareDocumentCommand{\oo}{m O{-2ex}}{\setlength{\ULdepth}{#2}\uuline{#1}\setlength{\ULdepth}{\@fglULdepthbackup}}
 
 \DeclareDocumentCommand{\obl}{m}{\textbf{#1}}
 \DeclareDocumentCommand{\obli}{m}{\textit{\textbf{#1}}}
@@ -485,11 +511,14 @@
 % ------------------------------
 
 \DeclareDocumentCommand{\zit}{m}{``#1''}				
-\DeclareDocumentCommand{\her}{m}{`#1'}						
+\DeclareDocumentCommand{\ziT}{m}{\ensuremath{\bm{``}}#1\ensuremath{\bm{''}}}				
+\DeclareDocumentCommand{\her}{m}{`#1'}	
+\DeclareDocumentCommand{\her}{m}{\ensuremath{\bm{`}}#1\ensuremath{\bm{'}}}					
 
+
 %% Brackets
-\DeclareDocumentCommand{\set}{O{x} m}{\{\ensuremath{#1} : #2\}}
-\DeclareDocumentCommand{\seT}{O{x} m}{\obl{\{}\ensuremath{#1} \obl{:} #2\obl{\}}}
+\DeclareDocumentCommand{\set}{O{x} m O{}}{\DeclareDocumentCommand{\@fglssetvariable}{}{#1}\ifempty{#3}\else#3\ =\ \fi\{\ensuremath{#1} \@fglsetspacer\ #2\}}
+\DeclareDocumentCommand{\seT}{O{x} m O{}}{\DeclareDocumentCommand{\@fglssetvariable}{}{#1}\ifempty{#3}\else\obl{#3}\ \obl{=}\ \fi\obl{\{}\ensuremath{#1} \obl{\@fglsetspacer}\ #2\obl{\}}}
 \DeclareDocumentCommand{\cset}{m O{} O{\sstar}}{\ensuremath{#1_\text{#3}^\text{#2}}}
 \DeclareDocumentCommand{\bool}{m}{\ensuremath{\vdash}#1\ensuremath{\dashv}}
 \DeclareDocumentCommand{\booL}{m}{\ensuremath{\bm{\vdash}}#1\ensuremath{\bm{\dashv}}}
@@ -505,19 +534,59 @@
 \newcommand{\sneg}{\ensuremath{\neg}}
 \newcommand{\sneG}{\ensuremath{\bm{\neg}}}
 
+\let\strue\@fglsundefined
+\let\struE\@fglsundefined
+\newcommand{\strue}{\ensuremath{\top}}
+\newcommand{\struE}{\ensuremath{\bm{\top}}}
+
+\let\sfalse\@fglsundefined
+\let\sfalsE\@fglsundefined
+\newcommand{\sfalse}{\ensuremath{\bot}}
+\newcommand{\sfalsE}{\ensuremath{\bm{\bot}}}
+
+\let\snec\@fglsundefined
+\let\sneC\@fglsundefined
+\newcommand{\snec}{\ensuremath{\Box}}
+\newcommand{\sneC}{\ensuremath{\bm{\Box}}}
+
+\let\sposs\@fglsundefined
+\let\sposS\@fglsundefined
+\newcommand{\sposs}{\ensuremath{\Diamond}}
+\newcommand{\sposS}{\ensuremath{\bm{\Diamond}}}
+
 \DeclareDocumentCommand{\simp}{m m}{#1 \ensuremath{\rightarrow} #2}
 \DeclareDocumentCommand{\simP}{m m}{#1 \ensuremath{\bm{\rightarrow}} #2}
 \DeclareDocumentCommand{\simpnc}{m m}{\ensuremath{\rightarrow}(#1)(#2)}
 \DeclareDocumentCommand{\simpnC}{m m}{\ensuremath{\bm{\rightarrow}}\obl{(}#1\obl{)}\obl{(}#2\obl{)}}
-\DeclareDocumentCommand{\soR}{m m O{} O{} O{} O{} O{} O{} O{}}{#1 \ensuremath{\bm{\lor}} #2\ifempty{#3}\else\ \ensuremath{\bm{\lor}} #3\fi\ifempty{#4}\else\ \ensuremath{\bm{\lor}} #4\fi\ifempty{#5}\else\ \ensuremath{\bm{\lor}} #5\fi\ifempty{#6}\else\ \ensuremath{\bm{\lor}} #6\fi\ifempty{#7}\else\ \ensuremath{\bm{\lor}} #7\fi\ifempty{#8}\else\ \ensuremath{\bm{\lor}} #8\fi\ifempty{#9}\else\ \ensuremath{\bm{\lor}} #9\fi}
-\DeclareDocumentCommand{\sor}{m m O{} O{} O{} O{} O{} O{} O{}}{#1 \ensuremath{\lor} #2\ifempty{#3}\else\ \ensuremath{\lor} #3\fi\ifempty{#4}\else\ \ensuremath{\lor} #4\fi\ifempty{#5}\else\ \ensuremath{\lor} #5\fi\ifempty{#6}\else\ \ensuremath{\lor} #6\fi\ifempty{#7}\else\ \ensuremath{\lor} #7\fi\ifempty{#8}\else\ \ensuremath{\lor} #8\fi\ifempty{#9}\else\ \ensuremath{\lor} #9\fi}
+
 \DeclareDocumentCommand{\sanD}{m m O{} O{} O{} O{} O{} O{} O{}}{#1 \ensuremath{\bm{\land}} #2\ifempty{#3}\else\ \ensuremath{\bm{\land}} #3\fi\ifempty{#4}\else\ \ensuremath{\bm{\land}} #4\fi\ifempty{#5}\else\ \ensuremath{\bm{\land}} #5\fi\ifempty{#6}\else\ \ensuremath{\bm{\land}} #6\fi\ifempty{#7}\else\ \ensuremath{\bm{\land}} #7\fi\ifempty{#8}\else\ \ensuremath{\bm{\land}} #8\fi\ifempty{#9}\else\ \ensuremath{\bm{\land}} #9\fi}
 \DeclareDocumentCommand{\sand}{m m O{} O{} O{} O{} O{} O{} O{}}{#1 \ensuremath{\land} #2\ifempty{#3}\else\ \ensuremath{\land} #3\fi\ifempty{#4}\else\ \ensuremath{\land} #4\fi\ifempty{#5}\else\ \ensuremath{\land} #5\fi\ifempty{#6}\else\ \ensuremath{\land} #6\fi\ifempty{#7}\else\ \ensuremath{\land} #7\fi\ifempty{#8}\else\ \ensuremath{\land}#8\fi\ifempty{#9}\else\ \ensuremath{\land} #9\fi}
 \DeclareDocumentCommand{\sandnc}{m m O{} O{} O{} O{} O{} O{} O{}}{\ensuremath{\land}\mela{#1}[#2][#3][#4][#5][#6][#7][#8][#9]}
 \DeclareDocumentCommand{\sandnC}{m m O{} O{} O{} O{} O{} O{} O{}}{\ensuremath{\bm{\land}}\oblA{#1}[#2][#3][#4][#5][#6][#7][#8][#9]}
+
 \DeclareDocumentCommand{\sornc}{m m O{} O{} O{} O{} O{} O{} O{}}{\ensuremath{\lor}\mela{#1}[#2][#3][#4][#5][#6][#7][#8][#9]}
 \DeclareDocumentCommand{\sornC}{m m O{} O{} O{} O{} O{} O{} O{}}{\ensuremath{\bm{\lor}}\obla{#1}[#2][#3][#4][#5][#6][#7][#8][#9]}
 
+
+
+\DeclareDocumentCommand{\soR}{m m O{} O{} O{} O{} O{} O{} O{}}{#1 \ensuremath{\bm{\lor}} #2\ifempty{#3}\else\ \ensuremath{\bm{\lor}} #3\fi\ifempty{#4}\else\ \ensuremath{\bm{\lor}} #4\fi\ifempty{#5}\else\ \ensuremath{\bm{\lor}} #5\fi\ifempty{#6}\else\ \ensuremath{\bm{\lor}} #6\fi\ifempty{#7}\else\ \ensuremath{\bm{\lor}} #7\fi\ifempty{#8}\else\ \ensuremath{\bm{\lor}} #8\fi\ifempty{#9}\else\ \ensuremath{\bm{\lor}} #9\fi}
+\DeclareDocumentCommand{\sor}{m m O{} O{} O{} O{} O{} O{} O{}}{#1 \ensuremath{\lor} #2\ifempty{#3}\else\ \ensuremath{\lor} #3\fi\ifempty{#4}\else\ \ensuremath{\lor} #4\fi\ifempty{#5}\else\ \ensuremath{\lor} #5\fi\ifempty{#6}\else\ \ensuremath{\lor} #6\fi\ifempty{#7}\else\ \ensuremath{\lor} #7\fi\ifempty{#8}\else\ \ensuremath{\lor} #8\fi\ifempty{#9}\else\ \ensuremath{\lor} #9\fi}
+
+%% exclusive disjunction
+\DeclareDocumentCommand{\sxornc}{m m O{} O{} O{} O{} O{} O{} O{}}{\ensuremath{\veebar}\mela{#1}[#2][#3][#4][#5][#6][#7][#8][#9]}
+\DeclareDocumentCommand{\sxornC}{m m O{} O{} O{} O{} O{} O{} O{}}{\ensuremath{\bm{\veebar}}\obla{#1}[#2][#3][#4][#5][#6][#7][#8][#9]}
+
+\DeclareDocumentCommand{\sxoR}{m m O{} O{} O{} O{} O{} O{} O{}}{#1 \ensuremath{\bm{\veebar}} #2\ifempty{#3}\else\ \ensuremath{\bm{\veebar}} #3\fi\ifempty{#4}\else\ \ensuremath{\bm{\veebar}} #4\fi\ifempty{#5}\else\ \ensuremath{\bm{\veebar}} #5\fi\ifempty{#6}\else\ \ensuremath{\bm{\veebar}} #6\fi\ifempty{#7}\else\ \ensuremath{\bm{\veebar}} #7\fi\ifempty{#8}\else\ \ensuremath{\bm{\veebar}} #8\fi\ifempty{#9}\else\ \ensuremath{\bm{\veebar}} #9\fi}
+\DeclareDocumentCommand{\sxor}{m m O{} O{} O{} O{} O{} O{} O{}}{#1 \ensuremath{\veebar} #2\ifempty{#3}\else\ \ensuremath{\veebar} #3\fi\ifempty{#4}\else\ \ensuremath{\veebar} #4\fi\ifempty{#5}\else\ \ensuremath{\veebar} #5\fi\ifempty{#6}\else\ \ensuremath{\veebar} #6\fi\ifempty{#7}\else\ \ensuremath{\veebar} #7\fi\ifempty{#8}\else\ \ensuremath{\veebar} #8\fi\ifempty{#9}\else\ \ensuremath{\veebar} #9\fi}
+
+%% genral junctor builder
+\DeclareDocumentCommand{\slogic}{m m m O{} O{} O{} O{} O{} O{}}{#2 \ensuremath{#1} #3\ifempty{#4}\else\ \ensuremath{#3} #4\fi\ifempty{#5}\else\ \ensuremath{#3} #5\fi\ifempty{#6}\else\ \ensuremath{#3} #6\fi\ifempty{#7}\else\ \ensuremath{#3} #7\fi\ifempty{#8}\else\ \ensuremath{#3} #8\fi\ifempty{#9}\else\ \ensuremath{#3} #9\fi}
+
+\DeclareDocumentCommand{\slogiC}{m m m O{} O{} O{} O{} O{} O{}}{#2 \ensuremath{\bm{#1}} #3\ifempty{#4}\else\ \ensuremath{\bm{#3}} #4\fi\ifempty{#5}\else\ \ensuremath{\bm{#3}} #5\fi\ifempty{#6}\else\ \ensuremath{\bm{#3}} #6\fi\ifempty{#7}\else\ \ensuremath{\bm{#3}} #7\fi\ifempty{#8}\else\ \ensuremath{\bm{#3}} #8\fi\ifempty{#9}\else\ \ensuremath{\bm{#3}} #9\fi}
+
+\DeclareDocumentCommand{\slogicnc}{m m m O{} O{} O{} O{} O{} O{}}{\ensuremath{#1}\mela{#2}[#3][#4][#5][#6][#7][#8][#9]}
+\DeclareDocumentCommand{\slogicnC}{m m m O{} O{} O{} O{} O{} O{}}{\ensuremath{\bm{#1}}\obla{#2}[#3][#4][#5][#6][#7][#8][#9]}
+
 % ------------------------------
 % Lambda
 % ------------------------------
@@ -541,17 +610,45 @@
 \DeclareDocumentCommand{\lambfszyX}{m O{z} O{y} O{x} O{s} O{} O{} O{} O{}}{\lambH{#5}[#9]\lambh{#2}[#6]\lambH{#3}[#7]\lambH{#4}[#8]\booL{#1}}
 
 %% Lambda Heads
-\DeclareDocumentCommand{\lambh}{m O{}}{\ensuremath{\lambda\textit{#1}}\ifempty{#2}\else\textsubscript{#2}\fi\ifempty{#2}\else\!\fi.}
-\DeclareDocumentCommand{\lambH}{m O{}}{\ensuremath{\bm{\lambda #1}}\ifempty{#2}\else\!\textsubscript{#2}\fi\ifempty{#2}\else\!\fi\obl{.}}
-\DeclareDocumentCommand{\lambhe}{ O{x} O{\@typee}}{\obl{(}\ensuremath{\exists}\ensuremath{#1}\ifempty{#2}\else\!\fi\textsubscript{#2}\!\obl{)}}
-\DeclareDocumentCommand{\lambhE}{ O{x} O{\@typee}}{\obl{(}\ensuremath{\bm{\exists}}\textbf{\ensuremath{#1}}\ifempty{#2}\else\!\fi\textsubscript{#2}\!\obl{)}}
-\DeclareDocumentCommand{\lambha}{ O{x} O{\@typee}}{\obl{(}\ensuremath{\forall}\ensuremath{#1}\ifempty{#2}\else\!\fi\textsubscript{#2}\!\obl{)}}
-\DeclareDocumentCommand{\lambhA}{ O{x} O{\@typee}}{\obl{(}\ensuremath{\bm{\forall}}\textbf{\ensuremath{#1}}\ifempty{#2}\else\!\fi\textsubscript{#2}\!\obl{)}}
-\DeclareDocumentCommand{\lambhen}{ O{x} O{\@typee}}{\ensuremath{\neg}\obl{(}\ensuremath{\exists}\ensuremath{#1}\ifempty{#2}\else\!\fi\textsubscript{#2}\!\obl{)}}
-\DeclareDocumentCommand{\lambheN}{ O{x} O{\@typee}}{\ensuremath{\bm{\neg}}\obl{(}\ensuremath{\bm{\exists}}\textbf{\ensuremath{#1}}\ifempty{#2}\else\!\fi\textsubscript{#2}\!\obl{)}}
-\DeclareDocumentCommand{\lambhan}{ O{x} O{\@typee}}{\ensuremath{\neg}\obl{(}\ensuremath{\forall}\ensuremath{#1}\ifempty{#2}\else\!\fi\textsubscript{#2}\!\obl{)}}
-\DeclareDocumentCommand{\lambhaN}{ O{x} O{\@typee}}{\ensuremath{\bm{\neg}}\obl{(}\ensuremath{\bm{\forall}}\textbf{\ensuremath{#1}}\ifempty{#2}\else\!\fi\textsubscript{#2}\!\obl{)}}
 
+\DeclareDocumentCommand{\lambh}{m O{}}{\ensuremath{\lambda\textit{#1}}\ifempty{#2}\else\textsubscript{#2}\!\fi.}
+\DeclareDocumentCommand{\lambH}{m O{}}{\ensuremath{\bm{\lambda\textit{#1}}}\ifempty{#2}\else\!\textsubscript{#2}\!\fi\obl{.}}
+
+\DeclareDocumentCommand{\@lambhquantorbuilder}{m m m}{\mel{(}\ensuremath{#1}\ensuremath{#2}\ifempty{#3}\else\!\fi\textsubscript{#3}\!\mel{)}}
+\DeclareDocumentCommand{\@lambhquantorbuilder}{m m m}{\obl{(}\ensuremath{\bm{#1}}\textbf{\ensuremath{#2}}\ifempty{#3}\else\!\fi\textsubscript{#3}\!\obl{)}}
+
+%% Override lambda heads to domain style if package parameter is set to domain
+\def\@fragoliconsttsdomain{domain}
+\IfStrEq{\FGL at lambdaheadstyle}{\@fragoliconsttsdomain}{
+	\DeclareDocumentCommand{\lambh}{m O{}}{\ensuremath{\lambda\textit{#1}}\ifempty{#2}\else\text{ }\ensuremath{\in}\text{ D\textsubscript{#2}}\!\fi.}
+	\DeclareDocumentCommand{\lambH}{m O{}}{\ensuremath{\bm{\lambda\textit{#1}}}\ifempty{#2}\else\text{ }\ensuremath{\in}\text{ D\textsubscript{#2}}\!\fi.}
+	
+	\DeclareDocumentCommand{\@lambhquantorbuilder}{m m m}{\mel{(}\ensuremath{#1}\ensuremath{#2}\ifempty{#3}\else\text{ }\ensuremath{\in}\text{ D\textsubscript{#2}}\!\mel{)}}
+	\DeclareDocumentCommand{\@lambhquantorbuilder}{m m m}{\obl{(}\ensuremath{\bm{#1}}\textbf{\ensuremath{#2}}\ifempty{#3}\else\text{ }\ensuremath{\in}\text{ D\textsubscript{#2}}\!\obl{)}}
+}{}
+
+%% Override lambda heads to upper style if package parameter is set to domain
+\def\@fragoliconsttsupper{upper}
+\IfStrEq{\FGL at lambdaheadstyle}{\@fragoliconsttsupper}{
+	\DeclareDocumentCommand{\lambh}{m O{}}{\ensuremath{\lambda\textit{#1}}\ifempty{#2}\else\textsuperscript{#2}\!\fi.}
+	\DeclareDocumentCommand{\lambH}{m O{}}{\ensuremath{\bm{\lambda\textit{#1}}}\ifempty{#2}\else\!\textsuperscript{#2}\!\fi\obl{.}}
+	\DeclareDocumentCommand{\@lambhquantorbuilder}{m m m}{\mel{(}\ensuremath{#1}\ensuremath{#2}\ifempty{#3}\else\!\fi\textsuperscript{#3}\!\mel{)}}
+	\DeclareDocumentCommand{\@lambhquantorbuilder}{m m m}{\obl{(}\ensuremath{\bm{#1}}\textbf{\ensuremath{#2}}\ifempty{#3}\else\!\fi\textsuperscript{#3}\!\obl{)}}
+}{}
+
+\DeclareDocumentCommand{\lambhe}{O{x} O{\@typee}}{\@lambhquantorbuilder{\exists}{#1}{#2}}
+\DeclareDocumentCommand{\lambhE}{O{x} O{\@typee}}{\@lambhquantorbuilder{\exists}{#1}{#2}}
+\DeclareDocumentCommand{\lambhu}{O{x} O{\@typee}}{\@lambhquantorbuilder{\exists!}{#1}{#2}}
+\DeclareDocumentCommand{\lambhU}{O{x} O{\@typee}}{\@lambhquantorbuilder{\exists!}{#1}{#2}}
+\DeclareDocumentCommand{\lambha}{O{x} O{\@typee}}{\@lambhquantorbuilder{\forall}{#1}{#2}}
+\DeclareDocumentCommand{\lambhA}{O{x} O{\@typee}}{\@lambhquantorbuilder{\forall}{#1}{#2}}
+\DeclareDocumentCommand{\lambhen}{O{x} O{\@typee}}{\ensuremath{\neg}\lambhe[#1][#2]}
+\DeclareDocumentCommand{\lambheN}{O{x} O{\@typee}}{\ensuremath{\bm{\neg}}\lambhE[#1][#2]}
+\DeclareDocumentCommand{\lambhan}{O{x} O{\@typee}}{\ensuremath{\neg}\lambha[#1][#2]}
+\DeclareDocumentCommand{\lambhaN}{O{x} O{\@typee}}{\ensuremath{\bm{\neg}}\lambhA[#1][#2]}
+\DeclareDocumentCommand{\lambhun}{O{x} O{\@typee}}{\ensuremath{\neg}\lambhu[#1][#2]}
+\DeclareDocumentCommand{\lambhuN}{O{x} O{\@typee}}{\ensuremath{\bm{\neg}}\lambhU[#1][#2]}
+
 %% Lambda Heads Basics
 \DeclareDocumentCommand{\lmda}{O{}}{\lambh{a}[#1]}
 \DeclareDocumentCommand{\lmDa}{O{}}{\lambH{a}[#1]}
@@ -659,6 +756,16 @@
 \DeclareDocumentCommand{\lmDZ}{O{}}{\lambH{Z}[#1]}
 
 % ------------------------------
+% Functions
+% ------------------------------
+
+
+% Inspired by Andrew McKenzie from ling-macros package
+\DeclareDocumentEnvironment{fglfunc}{O{} O{10} O{n}}{\let\l\@fglsundefined\let\r\@fglsundefined\DeclareDocumentCommand{\d}{O{\vdots} O{} O{}}{{##1} & ##2 & {##3}\\}\newcommand{\l}{\ifmmode\else$\fi\left[\begin{array}{ccr@{\rule{0pt}{#2pt}}}}\newcommand{\r}{\end{array}\right]\ifmmode$\else\fi}\DeclareDocumentCommand{\b}{m O{}}{\ifempty{##2}\else##2 = \fi\l##1\r}\DeclareDocumentCommand{\f}{m m}{{\textrm{\IfEq{#3}{m}{\ensuremath{##1}}{}\IfEq{#3}{b}{\textbf{##1}}{}\IfEq{#3}{n}{##1}{}}} & \to & {\textrm{##2}}\\}\ifempty{#1}\else#1 = \fi\l}{\r}
+
+\DeclareDocumentCommand{\func}{O{} m m O{} O{} O{} O{} O{} O{}}{\begin{fglfunc}[#1]\f{#2}{#3}\ifempty{#4}\else\f{#4}{#5}\fi\ifempty{#6}\else\f{#6}{#7}\fi\ifempty{#8}\else\f{#8}{#9}\fi\end{fglfunc}}
+
+% ------------------------------
 % Semantics
 % ------------------------------
 \DeclareDocumentCommand{\sarrow}{m}{\ensuremath{\downarrow}#1}
@@ -813,7 +920,7 @@
 % Homeworks
 % ------------------------------
 
-\newenvironment{question}{\ifFGL at showawnser\color{dunkelgrau}\else\color{black}\fi}{}
+\newenvironment{question}{\ifFGL at showawnser\color{fglquestioncolor}\else\color{black}\fi}{}
 \specialcomment{awnser}{\color{black}\normalfont}{}
 \ifFGL at showawnser\includecomment{awnser}\else\excludecomment{awnser}\fi
 
@@ -823,285 +930,478 @@
 \DeclareDocumentEnvironment{fgls}{O{\FGL at situation}}{
 	\let\fgslisinfgls\@fglsundefined
 	\DeclareDocumentCommand{\fgslisinfgls}{}{true}
-			% Commands
-			\DeclareDocumentCommand{\cs}{}{#1}
-			
-			%% Text shortcuts
-			\DeclareDocumentCommand{\o}{m}{\obl{##1}}
-			\DeclareDocumentCommand{\v}{m}{\obli{##1}}
-			\DeclareDocumentCommand{\m}{m}{\mel{##1}}
-			\DeclareDocumentCommand{\j}{m}{\meli{##1}}
-
-			\DeclareDocumentCommand{\l}{m O{}}{\lambh{##1}[##2]}
-			\DeclareDocumentCommand{\L}{m O{}}{\lambH{##1}[##2]}
-
-			\DeclareDocumentCommand{\h}{m}{\type{##1}}
+	% Commands
+	\DeclareDocumentCommand{\cs}{}{#1}
+	\DeclareDocumentCommand{\cS}{}{\o{#1}}
+	\DeclareDocumentCommand{\Cs}{}{#1\ }
+	\DeclareDocumentCommand{\CS}{}{\o{#1}\ }
 	
-			% Constants
-			%% Object Language	
-			\DeclareDocumentCommand{\ox}{}{\v{x}}
-			\DeclareDocumentCommand{\oX}{}{\v{X}}
-			\DeclareDocumentCommand{\oy}{}{\v{y}}
-			\DeclareDocumentCommand{\oY}{}{\v{Y}}
-			\DeclareDocumentCommand{\oz}{}{\v{z}}
-			\DeclareDocumentCommand{\oZ}{}{\v{Z}}
-			\DeclareDocumentCommand{\oi}{}{\v{i}}
-			\DeclareDocumentCommand{\oI}{}{\v{I}}
-			\DeclareDocumentCommand{\os}{}{\v{s}}
-			\DeclareDocumentCommand{\oS}{}{\v{S}}
-			\DeclareDocumentCommand{\oq}{}{\v{q}}
-			\DeclareDocumentCommand{\oQ}{}{\v{Q}}
-			\DeclareDocumentCommand{\op}{}{\v{p}}
-			\DeclareDocumentCommand{\oP}{}{\v{P}}
-			\DeclareDocumentCommand{\oR}{}{\v{R}}
-			\DeclareDocumentCommand{\x}{}{\obli{x}}
-			\DeclareDocumentCommand{\X}{}{\obli{X}}
-			\DeclareDocumentCommand{\y}{}{\obli{y}}
-			\DeclareDocumentCommand{\Y}{}{\obli{Y}}
-			\DeclareDocumentCommand{\z}{}{\obli{z}}
-			\DeclareDocumentCommand{\Z}{}{\obli{Z}}
-		
-			%% Meta Language
-			\DeclareDocumentCommand{\mx}{}{\text{\textit{x}}}
-			\DeclareDocumentCommand{\mX}{}{\text{\textit{X}}}
-			\DeclareDocumentCommand{\my}{}{\text{\textit{y}}}
-			\DeclareDocumentCommand{\mY}{}{\text{\textit{Y}}}
-			\DeclareDocumentCommand{\mz}{}{\text{\textit{z}}}
-			\DeclareDocumentCommand{\mZ}{}{\text{\textit{Z}}}
-			\DeclareDocumentCommand{\mi}{}{\text{\textit{i}}}
-			\DeclareDocumentCommand{\mI}{}{\text{\textit{I}}}
-			\DeclareDocumentCommand{\ms}{}{\text{\textit{s}}}
-			\DeclareDocumentCommand{\mS}{}{\text{\textit{S}}}
-			\DeclareDocumentCommand{\mp}{}{\text{\textit{p}}}
-			\DeclareDocumentCommand{\mP}{}{\text{\textit{P}}}
-			\DeclareDocumentCommand{\mq}{}{\text{\textit{q}}}
-			\DeclareDocumentCommand{\mQ}{}{\text{\textit{Q}}}
-			\DeclareDocumentCommand{\mr}{}{\text{\textit{r}}}
-			\DeclareDocumentCommand{\mR}{}{\text{\textit{R}}}
-		
-			%% Logic
-			\DeclareDocumentCommand{\qe}{}{\ensuremath{\exists}}
-			\DeclareDocumentCommand{\qE}{}{\ensuremath{\bm{\exists}}}
-			\DeclareDocumentCommand{\qu}{}{\ensuremath{\exists}!}
-			\DeclareDocumentCommand{\qU}{}{\ensuremath{\bm{\exists}!}}
-			\DeclareDocumentCommand{\qa}{}{\ensuremath{\forall}}
-			\DeclareDocumentCommand{\qA}{}{\ensuremath{\bm{\forall}}}
-			\DeclareDocumentCommand{\jn}{}{\ensuremath{\neg}}
-			\DeclareDocumentCommand{\jN}{}{\ensuremath{\bm{\neg}}}
-			\DeclareDocumentCommand{\jk}{}{\ensuremath{\land}}
-			\DeclareDocumentCommand{\jK}{}{\ensuremath{\bm{\land}}}
-			\DeclareDocumentCommand{\jd}{}{\ensuremath{\lor}}
-			\DeclareDocumentCommand{\jD}{}{\ensuremath{\bm{\lor}}}
-			\DeclareDocumentCommand{\ji}{}{\ensuremath{\rightarrow}}
-			\DeclareDocumentCommand{\jI}{}{\ensuremath{\bm{\rightarrow}}}
-			\DeclareDocumentCommand{\ci}{}{\ensuremath{\in}}
-			\DeclareDocumentCommand{\cI}{}{\ensuremath{\bm{\in}}}
-			\DeclareDocumentCommand{\cd}{}{\ensuremath{\downarrow}}
-			\DeclareDocumentCommand{\cD}{}{\ensuremath{\bm{\downarrow}}}
-			\DeclareDocumentCommand{\ce}{}{\ensuremath{\emptyset}}
-			\DeclareDocumentCommand{\cE}{}{\ensuremath{\bm{\emptyset}}}
 	
-			%% Arguments Variables
-			\DeclareDocumentCommand{\ax}{}{\a{x}}
-			\DeclareDocumentCommand{\aX}{}{\a{X}}
-			\DeclareDocumentCommand{\ay}{}{\a{y}}
-			\DeclareDocumentCommand{\aY}{}{\a{Y}}
-			\DeclareDocumentCommand{\az}{}{\a{z}}
-			\DeclareDocumentCommand{\aZ}{}{\a{Z}}
-			\DeclareDocumentCommand{\ai}{}{\a{i}}
-			\DeclareDocumentCommand{\aI}{}{\a{I}}
-			\DeclareDocumentCommand{\as}{}{\a{s}}
-			\DeclareDocumentCommand{\aS}{}{\a{S}}
-			\DeclareDocumentCommand{\ar}{}{\a{r}}
-			\DeclareDocumentCommand{\aR}{}{\a{R}}
-			\DeclareDocumentCommand{\ap}{}{\a{p}}
-			\DeclareDocumentCommand{\aP}{}{\a{P}}
-			\DeclareDocumentCommand{\aq}{}{\a{q}}
-			\DeclareDocumentCommand{\aQ}{}{\a{Q}}
-			\DeclareDocumentCommand{\ae}{}{\a{e}}
-			\DeclareDocumentCommand{\aE}{}{\a{E}}
-			
-			%% Arguments Variables Meta
-			\DeclareDocumentCommand{\bx}{}{(\j{x})}
-			\DeclareDocumentCommand{\bX}{}{(\j{X})}
-			\DeclareDocumentCommand{\by}{}{(\j{y})}
-			\DeclareDocumentCommand{\bY}{}{(\j{Y})}
-			\DeclareDocumentCommand{\bz}{}{(\j{z})}
-			\DeclareDocumentCommand{\bZ}{}{(\j{Z})}
-			\DeclareDocumentCommand{\bi}{}{(\j{i})}
-			\DeclareDocumentCommand{\bI}{}{(\j{I})}
-			\DeclareDocumentCommand{\bs}{}{(\j{s})}
-			\DeclareDocumentCommand{\bS}{}{(\j{S})}
-			\DeclareDocumentCommand{\br}{}{(\j{r})}
-			\DeclareDocumentCommand{\bR}{}{(\j{R})}
-			\DeclareDocumentCommand{\bp}{}{(\j{p})}
-			\DeclareDocumentCommand{\bP}{}{(\j{P})}
-			\DeclareDocumentCommand{\bq}{}{(\j{q})}
-			\DeclareDocumentCommand{\bQ}{}{(\j{Q})}
-			\DeclareDocumentCommand{\be}{}{(\j{e})}
-			\DeclareDocumentCommand{\bE}{}{(\j{E})}
-			
-			\DeclareDocumentCommand{\Ax}{}{\A{x}}
-			\DeclareDocumentCommand{\AX}{}{\A{X}}
-			\DeclareDocumentCommand{\Ay}{}{\A{y}}
-			\DeclareDocumentCommand{\AY}{}{\A{Y}}
-			\DeclareDocumentCommand{\Az}{}{\A{z}}
-			\DeclareDocumentCommand{\AZ}{}{\A{Z}}
-			\DeclareDocumentCommand{\Ai}{}{\A{i}}
-			\DeclareDocumentCommand{\AI}{}{\A{I}}
-			\DeclareDocumentCommand{\As}{}{\A{s}}
-			\DeclareDocumentCommand{\AS}{}{\A{S}}
-			\DeclareDocumentCommand{\Ar}{}{\A{r}}
-			\DeclareDocumentCommand{\AR}{}{\A{R}}
-			\DeclareDocumentCommand{\Ap}{}{\A{p}}
-			\DeclareDocumentCommand{\AP}{}{\A{P}}
-			\DeclareDocumentCommand{\Aq}{}{\A{q}}
-			\DeclareDocumentCommand{\AQ}{}{\A{Q}}
-			\DeclareDocumentCommand{\Ae}{}{\A{e}}
-			\DeclareDocumentCommand{\AE}{}{\A{E}}
-			
-			\let\sss\ss
-			
-			%% Situations
-			\DeclareDocumentCommand{\ss}{}{\sstar}
-			\DeclareDocumentCommand{\sS}{}{\sstaR}
-			\DeclareDocumentCommand{\sz}{}{\szero}
-			\DeclareDocumentCommand{\sZ}{}{\szerO}
-			\DeclareDocumentCommand{\so}{}{\sone}
-			\DeclareDocumentCommand{\sO}{}{\sonE}
-			\DeclareDocumentCommand{\st}{}{\stwo}
-			\DeclareDocumentCommand{\sT}{}{\stwO}
-			
-			%% Traces		
-			\DeclareDocumentCommand{\tx}{}{\tracex}
-			\DeclareDocumentCommand{\tX}{}{\traceX}
-			\DeclareDocumentCommand{\Tx}{}{\tracEx}
-			\DeclareDocumentCommand{\TX}{}{\tracEX}
-			\DeclareDocumentCommand{\ty}{}{\tracey}
-			\DeclareDocumentCommand{\tY}{}{\traceY}
-			\DeclareDocumentCommand{\Ty}{}{\tracEy}
-			\DeclareDocumentCommand{\TY}{}{\tracEY}
-			\DeclareDocumentCommand{\tz}{}{\tracez}
-			\DeclareDocumentCommand{\tZ}{}{\traceZ}
-			\DeclareDocumentCommand{\Tz}{}{\tracEz}
-			\DeclareDocumentCommand{\TZ}{}{\tracEZ}
+	\newcommand{\sv}{\setvar}
+	\newcommand{\Sv}{\Setvar}
 	
-		
-		% Commands
-		%% Text shortcuts
+	%% Text shortcuts
+	\DeclareDocumentCommand{\o}{m}{\obl{##1}}
+	\DeclareDocumentCommand{\v}{m}{\obli{##1}}
+	\DeclareDocumentCommand{\m}{m}{\mel{##1}}
+	\DeclareDocumentCommand{\j}{m}{\meli{##1}}
 	
+	\DeclareDocumentCommand{\l}{m O{}}{\lambh{##1}[##2]}
+	\DeclareDocumentCommand{\L}{m O{}}{\lambH{##1}[##2]}
 	
-		%% Arguments
-		\DeclareDocumentCommand{\a}{m}{\obl{(}\obli{##1}\obl{)}}
-		\DeclareDocumentCommand{\A}{m}{\obl{(##1)}}
-		\DeclareDocumentCommand{\sa}{m}{\sarrow{##1}}
-		\DeclareDocumentCommand{\sA}{m}{\sarroW{##1}}
-		
-		%% Lambdas
-		\DeclareDocumentCommand{\lx}{O{}}{\lmdx[##1]}
-		\DeclareDocumentCommand{\lX}{O{}}{\lmdX[##1]}
-		\DeclareDocumentCommand{\Lx}{O{}}{\lmDx[##1]}
-		\DeclareDocumentCommand{\LX}{O{}}{\lmDX[##1]}
-		\DeclareDocumentCommand{\ly}{O{}}{\lmdy[##1]}
-		\DeclareDocumentCommand{\lY}{O{}}{\lmdY[##1]}
-		\DeclareDocumentCommand{\Ly}{O{}}{\lmDy[##1]}
-		\DeclareDocumentCommand{\LY}{O{}}{\lmDY[##1]}
-		\DeclareDocumentCommand{\lz}{O{}}{\lmdz[##1]}
-		\DeclareDocumentCommand{\lZ}{O{}}{\lmdZ[##1]}
-		\DeclareDocumentCommand{\Lz}{O{}}{\lmDz[##1]}
-		\DeclareDocumentCommand{\LZ}{O{}}{\lmDZ[##1]}
-		\DeclareDocumentCommand{\lp}{O{}}{\lmdp[##1]}
-		\DeclareDocumentCommand{\lP}{O{}}{\lmdP[##1]}
-		\DeclareDocumentCommand{\Lp}{O{}}{\lmDp[##1]}
-		\DeclareDocumentCommand{\LP}{O{}}{\lmDP[##1]}
-		\DeclareDocumentCommand{\lq}{O{}}{\lmdq[##1]}
-		\DeclareDocumentCommand{\lQ}{O{}}{\lmdQ[##1]}
-		\DeclareDocumentCommand{\Lq}{O{}}{\lmDq[##1]}
-		\DeclareDocumentCommand{\LQ}{O{}}{\lmDQ[##1]}
-		\DeclareDocumentCommand{\ls}{O{}}{\lmds[##1]}
-		\DeclareDocumentCommand{\lS}{O{}}{\lmdS[##1]}
-		\DeclareDocumentCommand{\Ls}{O{}}{\lmDs[##1]}
-		\DeclareDocumentCommand{\LS}{O{}}{\lmDS[##1]}
-		\DeclareDocumentCommand{\li}{O{}}{\lmdi[##1]}
-		\DeclareDocumentCommand{\lI}{O{}}{\lmdI[##1]}
-		\DeclareDocumentCommand{\Li}{O{}}{\lmDi[##1]}
-		\DeclareDocumentCommand{\LI}{O{}}{\lmDI[##1]}
-		\DeclareDocumentCommand{\lr}{O{}}{\lmdr[##1]}
-		\DeclareDocumentCommand{\lR}{O{}}{\lmdR[##1]}
-		\DeclareDocumentCommand{\Lr}{O{}}{\lmDr[##1]}
-		\DeclareDocumentCommand{\LR}{O{}}{\lmDR[##1]}
-		\DeclareDocumentCommand{\lu}{O{}}{\lmdu[##1]}
-		\DeclareDocumentCommand{\lU}{O{}}{\lmdU[##1]}
-		\DeclareDocumentCommand{\Lu}{O{}}{\lmDu[##1]}
-		\DeclareDocumentCommand{\LU}{O{}}{\lmDU[##1]}
-		\DeclareDocumentCommand{\lv}{O{}}{\lmdv[##1]}
-		\DeclareDocumentCommand{\lV}{O{}}{\lmdV[##1]}
-		\DeclareDocumentCommand{\Lv}{O{}}{\lmDv[##1]}
-		\DeclareDocumentCommand{\LV}{O{}}{\lmDV[##1]}
-		
-		
-		%% Lambda Functions
-		\DeclareDocumentCommand{\lfx}{m O{} O{x} O{#1} O{}}{\lambh{##3}[##5]\ifempty{##2}\bool{\j{##3} ##1 in ##4}\else\bool{##2}\fi}
-		\DeclareDocumentCommand{\lfX}{m O{} O{x} O{#1} O{}}{\lambH{##3}[##5]\ifempty{##2}\booL{\j{##3} ##1 in ##4}\else\booL{##2}\fi}
-		\DeclareDocumentCommand{\lfy}{m O{} O{y} O{x} O{#1} O{} O{}}{\lambh{##3}[##6]\lambh{##4}[##7]\ifempty{##2}\bool{\j{##4} ##1 \j{##3} in ##5}\else\bool{##2}\fi}
-		\DeclareDocumentCommand{\lfY}{m O{} O{y} O{x} O{#1} O{} O{}}{\lambH{##3}[##6]\lambH{##4}[##7]\ifempty{##2}\booL{\j{##4} ##1 \j{##3} in ##5}\else\booL{##2}\fi}
-		\DeclareDocumentCommand{\lfz}{m O{} O{z} O{y} O{x} O{#1} O{} O{} O{}}{\lambh{##3}[##7]\lambh{##4}[##8]\lambh{##5}[##9]\ifempty{##2}\bool{\j{##5} ##1 \j{##4}\ \j{##3} in ##6}\else\bool{##2}\fi}
-		\DeclareDocumentCommand{\lfZ}{m O{} O{z} O{y} O{x} O{#1} O{} O{} O{}}{\lambH{##3}[##7]\lambH{##4}[##8]\lambH{##5}[##9]\ifempty{##2}\booL{\j{##5} ##1 \j{##4}\ \j{##3} in ##6}\else\booL{##2}\fi}
+	\DeclareDocumentCommand{\h}{m}{\type{##1}}
 	
-		\DeclareDocumentCommand{\lfsx}{m O{} O{\sblank} O{x} O{} O{}}{\lambh{##3}[##5]\lambh{##4}[##6]\ifempty{##2}\bool{\j{##4} ##1 in ##3}\else\bool{##2}\fi}
-		\DeclareDocumentCommand{\lfsX}{m O{} O{\sblank} O{x} O{} O{}}{\lambH{##3}[##5]\lambH{##4}[##6]\ifempty{##2}\booL{\j{##4} ##1 in ##3}\else\booL{##2}\fi}
-		\DeclareDocumentCommand{\lfsy}{m O{} O{\sblank} O{y} O{x} O{} O{} O{}}{\lambh{##3}[##6]\lambh{##4}[##7]\lambh{##5}[##8]\ifempty{##2}\bool{\j{##5} ##1 \j{##4} in ##3}\else\bool{##2}\fi}
-		\DeclareDocumentCommand{\lfsY}{m O{} O{\sblank} O{y} O{x} O{} O{} O{}}{\lambH{##3}[##6]\lambH{##4}[##7]\lambH{##5}[##8]\ifempty{##2}\booL{\j{##5} ##1 \j{##4} in ##3}\else\booL{##2}\fi}
-		\DeclareDocumentCommand{\lfsz}{m O{} O{\sblank} O{z} O{y} O{x} O{} O{} O{}}{\lambh{##3}[##7]\lambh{##4}[##8]\lambh{##5}[##9]\lambh{##6}[##9]\ifempty{##2}\bool{\j{##6} ##1 \j{##5}\ \j{##4} in ##3}\else\bool{##2}\fi}
-		\DeclareDocumentCommand{\lfsZ}{m O{} O{\sblank} O{z} O{y} O{x} O{} O{} O{}}{\lambH{##3}[##7]\lambH{##4}[##8]\lambH{##5}[##9]\lambH{##6}[##9]\ifempty{##2}\booL{\j{##6} ##1 \j{##5}\ \j{##4} in ##3}\else\booL{##2}\fi}
+	% Constants
+	%% Object Language	
+	\DeclareDocumentCommand{\ox}{}{\v{x}}
+	\DeclareDocumentCommand{\oX}{}{\v{X}}
+	\DeclareDocumentCommand{\oy}{}{\v{y}}
+	\DeclareDocumentCommand{\oY}{}{\v{Y}}
+	\DeclareDocumentCommand{\oz}{}{\v{z}}
+	\DeclareDocumentCommand{\oZ}{}{\v{Z}}
+	\DeclareDocumentCommand{\oi}{}{\v{i}}
+	\DeclareDocumentCommand{\oI}{}{\v{I}}
+	\DeclareDocumentCommand{\oj}{}{\v{j}}
+	\DeclareDocumentCommand{\oJ}{}{\v{J}}
+	\DeclareDocumentCommand{\os}{}{\v{s}}
+	\DeclareDocumentCommand{\oS}{}{\v{S}}
+	\DeclareDocumentCommand{\oq}{}{\v{q}}
+	\DeclareDocumentCommand{\oQ}{}{\v{Q}}
+	\DeclareDocumentCommand{\op}{}{\v{p}}
+	\DeclareDocumentCommand{\oP}{}{\v{P}}
+	\DeclareDocumentCommand{\oR}{}{\v{R}}
+	\DeclareDocumentCommand{\x}{}{\v{x}}
+	\DeclareDocumentCommand{\X}{}{\v{X}}
+	\DeclareDocumentCommand{\y}{}{\v{y}}
+	\DeclareDocumentCommand{\Y}{}{\v{Y}}
+	\DeclareDocumentCommand{\z}{}{\v{z}}
+	\DeclareDocumentCommand{\Z}{}{\v{Z}}
 	
-		
-		%% fast derivation calc commands
-		\DeclareDocumentCommand{\r}{O{} O{} m}{\lambby[##1][##2]{##3}}
-		\DeclareDocumentCommand{\R}{O{} O{} m}{\lambbY[##1][##2]{##3}}
-		\DeclareDocumentCommand{\n}{m}{\bool{##1}}
-		\DeclareDocumentCommand{\N}{m}{\booL{##1}}
-		\DeclareDocumentCommand{\s}{O{x} m}{\set[##1]{##2}}
-		\DeclareDocumentCommand{\S}{O{x} m}{\seT[##1]{##2}}
-		\DeclareDocumentCommand{\cset}{m O{} O{\cs}}{\ensuremath{##1_\text{##3}^\text{##2}}}
-
-		\DeclareDocumentCommand{\i}{m}{\sdi{##1}}
-		\DeclareDocumentCommand{\I}{m}{\sdI{##1}}
-		\DeclareDocumentCommand{\e}{O{#1} m}{\sde[##1]{##2}}
-		\DeclareDocumentCommand{\E}{O{#1} m}{\sdE[##1]{##2}}
-
-		\DeclareDocumentCommand{\c}{O{\bm{i}} m}{\sic[##1]{##2}}
-		\DeclareDocumentCommand{\C}{O{\bm{i}} m}{\siC[##1]{##2}}
-
-		\DeclareDocumentCommand{\t}{m}{\sit{##1}}
-		\DeclareDocumentCommand{\T}{m}{\siT{##1}}
-		\DeclareDocumentCommand{\ti}{m}{\sit{\textit{##1}}}
-		\DeclareDocumentCommand{\tI}{m}{\siT{\textit{##1}}}
-		\DeclareDocumentCommand{\tb}{m}{\sitnobf{##1}}
-		\DeclareDocumentCommand{\tB}{m}{\sitnobF{##1}}
-		\DeclareDocumentCommand{\tbi}{m}{\sitnobfi{##1}}
-		\DeclareDocumentCommand{\tbI}{m}{\sitnobfI{##1}}
-		\DeclareDocumentCommand{\d}{O{g} m}{\sid[##1]{##2}}
-		\DeclareDocumentCommand{\D}{O{g} m}{\siD[##1]{##2}}
-
-		\DeclareDocumentCommand{\dr}{m O{r} O{g} O{x}}{\sidr{##1}{##2}[##4][##3]}
-		\DeclareDocumentCommand{\dR}{m O{r} O{g} O{x}}{\sidR{##1}{##2}[##4][##3]}
-		\DeclareDocumentCommand{\drr}{m O{r} O{d} O{g} O{x} O{y}}{\sidrr{##1}{##2}{##3}[##5][##6][##4]}
-		\DeclareDocumentCommand{\dRR}{m O{r} O{d} O{g} O{x} O{y}}{\sidRR{##1}{##2}{##3}[##5][##6][##4]}
-		\DeclareDocumentCommand{\drrr}{m O{r} O{d} O{t} O{g} O{x} O{y} O{z}}{\sidrrr{##1}{##2}{##3}{##4}[##6][##7][##8][##5]}
-		\DeclareDocumentCommand{\dRRR}{m O{r} O{d} O{t} O{g} O{x} O{y} O{z}}{\sidRRR{##1}{##2}{##3}{##4}[##6][##7][##8][##5]}
-	}{
+	\DeclareDocumentCommand{\Ox}{}{\ox\ }
+	\DeclareDocumentCommand{\OX}{}{\oX\ }
+	\DeclareDocumentCommand{\Oy}{}{\oy\ }
+	\DeclareDocumentCommand{\OY}{}{\oY\ }
+	\DeclareDocumentCommand{\Oz}{}{\oz\ }
+	\DeclareDocumentCommand{\OZ}{}{\oZ\ }
+	\DeclareDocumentCommand{\Oi}{}{\oi\ }
+	\DeclareDocumentCommand{\OI}{}{\oI\ }
+	\DeclareDocumentCommand{\Oj}{}{\oj\ }
+	\DeclareDocumentCommand{\OJ}{}{\oJ\ }
+	\DeclareDocumentCommand{\Os}{}{\os\ }
+	\DeclareDocumentCommand{\OS}{}{\oS\ }
+	\DeclareDocumentCommand{\Oq}{}{\oq\ }
+	\DeclareDocumentCommand{\OQ}{}{\oQ\ }
+	\DeclareDocumentCommand{\Op}{}{\op\ }
+	\DeclareDocumentCommand{\OP}{}{\oP\ }
+	\DeclareDocumentCommand{\OR}{}{\oR\ }
+	
+	%% Meta Language
+	\DeclareDocumentCommand{\mx}{}{\text{\textit{x}}}
+	\DeclareDocumentCommand{\mX}{}{\text{\textit{X}}}
+	
+	\DeclareDocumentCommand{\my}{}{\text{\textit{y}}}
+	\DeclareDocumentCommand{\mY}{}{\text{\textit{Y}}}
+	\DeclareDocumentCommand{\mz}{}{\text{\textit{z}}}
+	\DeclareDocumentCommand{\mZ}{}{\text{\textit{Z}}}
+	\DeclareDocumentCommand{\mi}{}{\text{\textit{i}}}
+	\DeclareDocumentCommand{\mI}{}{\text{\textit{I}}}
+	\DeclareDocumentCommand{\mj}{}{\text{\textit{j}}}
+	\DeclareDocumentCommand{\mJ}{}{\text{\textit{J}}}
+	\DeclareDocumentCommand{\ms}{}{\text{\textit{s}}}
+	\DeclareDocumentCommand{\mS}{}{\text{\textit{S}}}
+	\DeclareDocumentCommand{\mp}{}{\text{\textit{p}}}
+	\DeclareDocumentCommand{\mP}{}{\text{\textit{P}}}
+	\DeclareDocumentCommand{\mq}{}{\text{\textit{q}}}
+	\DeclareDocumentCommand{\mQ}{}{\text{\textit{Q}}}
+	\DeclareDocumentCommand{\mr}{}{\text{\textit{r}}}
+	\DeclareDocumentCommand{\mR}{}{\text{\textit{R}}}
+	\DeclareDocumentCommand{\mu}{}{\text{\textit{u}}}
+	\DeclareDocumentCommand{\mU}{}{\text{\textit{U}}}
+	\DeclareDocumentCommand{\mv}{}{\text{\textit{v}}}
+	\DeclareDocumentCommand{\mV}{}{\text{\textit{V}}}
+	
+	\DeclareDocumentCommand{\Mx}{}{\mx\ }
+	\DeclareDocumentCommand{\MX}{}{\mX\ }
+	\DeclareDocumentCommand{\My}{}{\my\ }
+	\DeclareDocumentCommand{\MY}{}{\mY\ }
+	\DeclareDocumentCommand{\Mz}{}{\mz\ }
+	\DeclareDocumentCommand{\MZ}{}{\mZ\ }
+	\DeclareDocumentCommand{\Mi}{}{\mi\ }
+	\DeclareDocumentCommand{\MI}{}{\mI\ }
+	\DeclareDocumentCommand{\Mj}{}{\mj\ }
+	\DeclareDocumentCommand{\MJ}{}{\mJ\ }
+	\DeclareDocumentCommand{\Ms}{}{\ms\ }
+	\DeclareDocumentCommand{\MS}{}{\mS\ }
+	\DeclareDocumentCommand{\Mp}{}{\mp\ }
+	\DeclareDocumentCommand{\MP}{}{\mP\ }
+	\DeclareDocumentCommand{\Mq}{}{\mq\ }
+	\DeclareDocumentCommand{\MQ}{}{\mQ\ }
+	\DeclareDocumentCommand{\Mr}{}{\mr\ }
+	\DeclareDocumentCommand{\MR}{}{\mR\ }
+	\DeclareDocumentCommand{\Mu}{}{\mu\ }
+	\DeclareDocumentCommand{\MU}{}{\mU\ }
+	\DeclareDocumentCommand{\Mv}{}{\mv\ }
+	\DeclareDocumentCommand{\MV}{}{\mV\ }
+	
+	%% Logic
+	
+	
+	\DeclareDocumentCommand{\qa}{}{\ensuremath{\forall}}
+	\DeclareDocumentCommand{\qA}{}{\ensuremath{\bm{\forall}}}
+	\DeclareDocumentCommand{\Qa}{}{\qa\ }
+	\DeclareDocumentCommand{\QA}{}{\qA\ }
+	
+	\DeclareDocumentCommand{\qe}{O{} O{}}{\ensuremath{\exists}\ifempty{##1}\else\textsuperscript{{\tiny \ensuremath{##1}}}\fi\ifempty{##2}\else\textsuperscript{{\tiny \ensuremath{##2}}}\fi}
+	\DeclareDocumentCommand{\qE}{O{} O{}}{\ensuremath{\bm{\exists}}\ifempty{##1}\else\textsuperscript{{\tiny \ensuremath{##1}}}\fi\ifempty{##2}\else\textsuperscript{{\tiny \ensuremath{##2}}}\fi}
+	\DeclareDocumentCommand{\Qe}{O{} O{}}{\qe[##1][##2]\ }
+	\DeclareDocumentCommand{\QE}{O{} O{}}{\qE[##1][##2]\ }
+	
+	\DeclareDocumentCommand{\qu}{}{\qe!}
+	\DeclareDocumentCommand{\qU}{}{\qE!}
+	\DeclareDocumentCommand{\Qu}{}{\qu\ }
+	\DeclareDocumentCommand{\QU}{}{\qU\ }
+	
+	\DeclareDocumentCommand{\qeg}{O{2}}{\qe[\geq][##1]}
+	\DeclareDocumentCommand{\qeG}{O{2}}{\qE[\geq][##1]}
+	\DeclareDocumentCommand{\Qeg}{O{2}}{\Qe[\geq][##1]}
+	\DeclareDocumentCommand{\QeG}{O{2}}{\QE[\geq][##1]}
+	\DeclareDocumentCommand{\qes}{O{2}}{\qe[\leq][##1]}
+	\DeclareDocumentCommand{\qeS}{O{2}}{\qE[\leq][##1]}
+	\DeclareDocumentCommand{\Qes}{O{2}}{\Qe[\leq][##1]}
+	\DeclareDocumentCommand{\QeS}{O{2}}{\QE[\leq][##1]}
+	\DeclareDocumentCommand{\qee}{O{2}}{\qe[=][##1]}
+	\DeclareDocumentCommand{\qeE}{O{2}}{\qE[=][##1]}
+	\DeclareDocumentCommand{\Qee}{O{2}}{\Qe[=][##1]}
+	\DeclareDocumentCommand{\QeE}{O{2}}{\QE[=][##1]}
+	
+	\DeclareDocumentCommand{\jn}{}{\ensuremath{\neg}}
+	\DeclareDocumentCommand{\jN}{}{\ensuremath{\bm{\neg}}}
+	\DeclareDocumentCommand{\jc}{}{\ensuremath{\land}}
+	\DeclareDocumentCommand{\jC}{}{\ensuremath{\bm{\land}}}
+	\DeclareDocumentCommand{\jd}{}{\ensuremath{\lor}}
+	\DeclareDocumentCommand{\jD}{}{\ensuremath{\bm{\lor}}}
+	\DeclareDocumentCommand{\ji}{}{\ensuremath{\rightarrow}}
+	\DeclareDocumentCommand{\jI}{}{\ensuremath{\bm{\rightarrow}}}
+	\DeclareDocumentCommand{\jj}{}{\ensuremath{\leftrightarrow}}
+	\DeclareDocumentCommand{\jJ}{}{\ensuremath{\bm{\leftrightarrow}}}
+	\DeclareDocumentCommand{\jx}{}{\ensuremath{\veebar}}
+	\DeclareDocumentCommand{\jX}{}{\ensuremath{\bm{\veebar}}}
+	\DeclareDocumentCommand{\jb}{}{\ensuremath{\Box}}
+	\DeclareDocumentCommand{\jB}{}{\ensuremath{\bm{\Box}}}
+	\DeclareDocumentCommand{\jp}{}{\ensuremath{\Diamond}}
+	\DeclareDocumentCommand{\jP}{}{\ensuremath{\bm{\Diamond}}}
+	\DeclareDocumentCommand{\jt}{}{\ensuremath{\top}}
+	\DeclareDocumentCommand{\jT}{}{\ensuremath{\bm{\top}}}
+	\DeclareDocumentCommand{\jf}{}{\ensuremath{\bot}}
+	\DeclareDocumentCommand{\jF}{}{\ensuremath{\bm{\bot}}}
+	\DeclareDocumentCommand{\je}{}{\ensuremath{\equiv}}
+	\DeclareDocumentCommand{\jE}{}{\ensuremath{\bm{\equiv}}}
+	\DeclareDocumentCommand{\jo}{}{\ensuremath{\oplus}}
+	\DeclareDocumentCommand{\jO}{}{\ensuremath{\bm{\oplus}}}
+	
+	\DeclareDocumentCommand{\Jn}{}{\jn\ }
+	\DeclareDocumentCommand{\JN}{}{\jN\ }
+	\DeclareDocumentCommand{\Jc}{}{\jc\ }
+	\DeclareDocumentCommand{\JC}{}{\jC\ }
+	\DeclareDocumentCommand{\Jd}{}{\jd\ }
+	\DeclareDocumentCommand{\JD}{}{\jD\ }
+	\DeclareDocumentCommand{\Ji}{}{\ji\ }
+	\DeclareDocumentCommand{\JI}{}{\jI\ }
+	\DeclareDocumentCommand{\Jj}{}{\jj\ }
+	\DeclareDocumentCommand{\JJ}{}{\jJ\ }
+	\DeclareDocumentCommand{\Jx}{}{\jx\ }
+	\DeclareDocumentCommand{\JX}{}{\jX\ }
+	\DeclareDocumentCommand{\Jb}{}{\jb\ }
+	\DeclareDocumentCommand{\JB}{}{\jB\ }
+	\DeclareDocumentCommand{\Jp}{}{\jp\ }
+	\DeclareDocumentCommand{\JP}{}{\jP\ }
+	\DeclareDocumentCommand{\Jt}{}{\jt\ }
+	\DeclareDocumentCommand{\JT}{}{\jT\ }
+	\DeclareDocumentCommand{\Jf}{}{\jf\ }
+	\DeclareDocumentCommand{\JF}{}{\jF\ }
+	\DeclareDocumentCommand{\Je}{}{\je\ }
+	\DeclareDocumentCommand{\JE}{}{\jE\ }
+	\DeclareDocumentCommand{\Jo}{}{\jo\ }
+	\DeclareDocumentCommand{\JO}{}{\jO\ }
+	
+	
+	
+	%% Set theory
+	\DeclareDocumentCommand{\ci}{}{\ensuremath{\in}}
+	\DeclareDocumentCommand{\cI}{}{\ensuremath{\bm{\in}}}
+	\DeclareDocumentCommand{\cd}{}{\ensuremath{\downarrow}}
+	\DeclareDocumentCommand{\cD}{}{\ensuremath{\bm{\downarrow}}}
+	\DeclareDocumentCommand{\ce}{}{\ensuremath{\emptyset}}
+	\DeclareDocumentCommand{\cE}{}{\ensuremath{\bm{\emptyset}}}
+	\DeclareDocumentCommand{\cb}{}{\ensuremath{\subset}}
+	\DeclareDocumentCommand{\cB}{}{\ensuremath{\bm{\subset}}}
+	\DeclareDocumentCommand{\cq}{}{\ensuremath{\subseteq}}
+	\DeclareDocumentCommand{\cQ}{}{\ensuremath{\bm{\subseteq}}}
+	\DeclareDocumentCommand{\ca}{}{\ensuremath{\cap}}
+	\DeclareDocumentCommand{\cA}{}{\ensuremath{\bm{\cap}}}
+	\DeclareDocumentCommand{\cu}{}{\ensuremath{\cup}}
+	\DeclareDocumentCommand{\cU}{}{\ensuremath{\bm{\cup}}}
+	
+	\DeclareDocumentCommand{\Ci}{}{\ci\ }
+	\DeclareDocumentCommand{\CI}{}{\cI\ }
+	\DeclareDocumentCommand{\Cd}{}{\cd\ }
+	\DeclareDocumentCommand{\CD}{}{\cD\ }
+	\DeclareDocumentCommand{\Ce}{}{\ce\ }
+	\DeclareDocumentCommand{\CE}{}{\cE\ }
+	\DeclareDocumentCommand{\Cb}{}{\cb\ }
+	\DeclareDocumentCommand{\CB}{}{\cB\ }
+	\DeclareDocumentCommand{\Cq}{}{\cq\ }
+	\DeclareDocumentCommand{\CQ}{}{\cQ\ }
+	\DeclareDocumentCommand{\Ca}{}{\ca\ }
+	\DeclareDocumentCommand{\CA}{}{\cA\ }
+	\DeclareDocumentCommand{\Cu}{}{\cu\ }
+	\DeclareDocumentCommand{\CU}{}{\cU\ }
+	
+	%% Relation Constants
+	\DeclareDocumentCommand{\rn}{}{\ensuremath{\neq}}
+	\DeclareDocumentCommand{\rN}{}{\ensuremath{\bm{\neq}}}
+	\DeclareDocumentCommand{\rg}{}{\ensuremath{\geq}}
+	\DeclareDocumentCommand{\rG}{}{\ensuremath{\bm{\geq}}}
+	\DeclareDocumentCommand{\rl}{}{\ensuremath{\leq}}
+	\DeclareDocumentCommand{\rL}{}{\ensuremath{\bm{\leq}}}
+	\DeclareDocumentCommand{\rp}{}{\ensuremath{\prec}}
+	\DeclareDocumentCommand{\rP}{}{\ensuremath{\bm{\prec}}}
+	\DeclareDocumentCommand{\rpe}{}{\ensuremath{\preceq}}
+	\DeclareDocumentCommand{\rpE}{}{\ensuremath{\bm{\preceq}}}
+	\DeclareDocumentCommand{\rs}{}{\ensuremath{\succ}}
+	\DeclareDocumentCommand{\rS}{}{\ensuremath{\bm{\succ}}}
+	\DeclareDocumentCommand{\rse}{}{\ensuremath{\succeq}}
+	\DeclareDocumentCommand{\rsE}{}{\ensuremath{\bm{\succeq}}}
+	
+	\DeclareDocumentCommand{\Rn}{}{\rn\ }
+	\DeclareDocumentCommand{\RN}{}{\rN\ }
+	\DeclareDocumentCommand{\Rg}{}{\rg\ }
+	\DeclareDocumentCommand{\RG}{}{\rG\ }
+	\DeclareDocumentCommand{\Rl}{}{\rl\ }
+	\DeclareDocumentCommand{\RL}{}{\rL\ }
+	\DeclareDocumentCommand{\Rp}{}{\rp\ }
+	\DeclareDocumentCommand{\RP}{}{\rP\ }
+	\DeclareDocumentCommand{\Rpe}{}{\rpe\ }
+	\DeclareDocumentCommand{\RpE}{}{\rpE\ }
+	\DeclareDocumentCommand{\Rs}{}{\rs\ }
+	\DeclareDocumentCommand{\RS}{}{\rS\ }
+	\DeclareDocumentCommand{\Rse}{}{\rse\ }
+	\DeclareDocumentCommand{\RsE}{}{\rsE\ }
+	
+	%% Arguments Variables
+	\DeclareDocumentCommand{\ax}{}{\a{x}}
+	\DeclareDocumentCommand{\aX}{}{\a{X}}
+	\DeclareDocumentCommand{\ay}{}{\a{y}}
+	\DeclareDocumentCommand{\aY}{}{\a{Y}}
+	\DeclareDocumentCommand{\az}{}{\a{z}}
+	\DeclareDocumentCommand{\aZ}{}{\a{Z}}
+	\DeclareDocumentCommand{\ai}{}{\a{i}}
+	\DeclareDocumentCommand{\aI}{}{\a{I}}
+	\DeclareDocumentCommand{\as}{}{\a{s}}
+	\DeclareDocumentCommand{\aS}{}{\a{S}}
+	\DeclareDocumentCommand{\ar}{}{\a{r}}
+	\DeclareDocumentCommand{\aR}{}{\a{R}}
+	\DeclareDocumentCommand{\ap}{}{\a{p}}
+	\DeclareDocumentCommand{\aP}{}{\a{P}}
+	\DeclareDocumentCommand{\aq}{}{\a{q}}
+	\DeclareDocumentCommand{\aQ}{}{\a{Q}}
+	\DeclareDocumentCommand{\ae}{}{\a{e}}
+	\DeclareDocumentCommand{\aE}{}{\a{E}}
+	
+	%% Arguments Variables Meta
+	\DeclareDocumentCommand{\bx}{}{(\j{x})}
+	\DeclareDocumentCommand{\bX}{}{(\j{X})}
+	\DeclareDocumentCommand{\by}{}{(\j{y})}
+	\DeclareDocumentCommand{\bY}{}{(\j{Y})}
+	\DeclareDocumentCommand{\bz}{}{(\j{z})}
+	\DeclareDocumentCommand{\bZ}{}{(\j{Z})}
+	\DeclareDocumentCommand{\bi}{}{(\j{i})}
+	\DeclareDocumentCommand{\bI}{}{(\j{I})}
+	\DeclareDocumentCommand{\bs}{}{(\j{s})}
+	\DeclareDocumentCommand{\bS}{}{(\j{S})}
+	\DeclareDocumentCommand{\br}{}{(\j{r})}
+	\DeclareDocumentCommand{\bR}{}{(\j{R})}
+	\DeclareDocumentCommand{\bp}{}{(\j{p})}
+	\DeclareDocumentCommand{\bP}{}{(\j{P})}
+	\DeclareDocumentCommand{\bq}{}{(\j{q})}
+	\DeclareDocumentCommand{\bQ}{}{(\j{Q})}
+	\DeclareDocumentCommand{\be}{}{(\j{e})}
+	\DeclareDocumentCommand{\bE}{}{(\j{E})}
+	
+	\DeclareDocumentCommand{\Ax}{}{\A{x}}
+	\DeclareDocumentCommand{\AX}{}{\A{X}}
+	\DeclareDocumentCommand{\Ay}{}{\A{y}}
+	\DeclareDocumentCommand{\AY}{}{\A{Y}}
+	\DeclareDocumentCommand{\Az}{}{\A{z}}
+	\DeclareDocumentCommand{\AZ}{}{\A{Z}}
+	\DeclareDocumentCommand{\Ai}{}{\A{i}}
+	\DeclareDocumentCommand{\AI}{}{\A{I}}
+	\DeclareDocumentCommand{\As}{}{\A{s}}
+	\DeclareDocumentCommand{\AS}{}{\A{S}}
+	\DeclareDocumentCommand{\Ar}{}{\A{r}}
+	\DeclareDocumentCommand{\AR}{}{\A{R}}
+	\DeclareDocumentCommand{\Ap}{}{\A{p}}
+	\DeclareDocumentCommand{\AP}{}{\A{P}}
+	\DeclareDocumentCommand{\Aq}{}{\A{q}}
+	\DeclareDocumentCommand{\AQ}{}{\A{Q}}
+	\DeclareDocumentCommand{\Ae}{}{\A{e}}
+	\DeclareDocumentCommand{\AE}{}{\A{E}}
+	
+	\let\sss\ss
+	
+	%% Situations
+	\DeclareDocumentCommand{\ss}{}{\sstar}
+	\DeclareDocumentCommand{\sS}{}{\sstaR}
+	\DeclareDocumentCommand{\sz}{}{\szero}
+	\DeclareDocumentCommand{\sZ}{}{\szerO}
+	\DeclareDocumentCommand{\so}{}{\sone}
+	\DeclareDocumentCommand{\sO}{}{\sonE}
+	\DeclareDocumentCommand{\st}{}{\stwo}
+	\DeclareDocumentCommand{\sT}{}{\stwO}
+	\DeclareDocumentCommand{\si}{}{\textsubscript{\ensuremath{i}}}
+	\DeclareDocumentCommand{\sI}{}{\textsubscript{\ensuremath{\obl{i}}}}
+	
+	\DeclareDocumentCommand{\Ss}{}{\ss\ }
+	\DeclareDocumentCommand{\SS}{}{\sS\ }
+	\DeclareDocumentCommand{\Sz}{}{\sz\ }
+	\DeclareDocumentCommand{\SZ}{}{\sZ\ }
+	\DeclareDocumentCommand{\So}{}{\so\ }
+	\DeclareDocumentCommand{\SO}{}{\sO\ }
+	\DeclareDocumentCommand{\St}{}{\st\ }
+	\DeclareDocumentCommand{\ST}{}{\sT\ }
+	\DeclareDocumentCommand{\Si}{}{\meli{i}\ }
+	\DeclareDocumentCommand{\SI}{}{\obli{i}\ }
+	
+	%% Traces		
+	\DeclareDocumentCommand{\tx}{}{\tracex}
+	\DeclareDocumentCommand{\tX}{}{\traceX}
+	\DeclareDocumentCommand{\Tx}{}{\tracEx}
+	\DeclareDocumentCommand{\TX}{}{\tracEX}
+	\DeclareDocumentCommand{\ty}{}{\tracey}
+	\DeclareDocumentCommand{\tY}{}{\traceY}
+	\DeclareDocumentCommand{\Ty}{}{\tracEy}
+	\DeclareDocumentCommand{\TY}{}{\tracEY}
+	\DeclareDocumentCommand{\tz}{}{\tracez}
+	\DeclareDocumentCommand{\tZ}{}{\traceZ}
+	\DeclareDocumentCommand{\Tz}{}{\tracEz}
+	\DeclareDocumentCommand{\TZ}{}{\tracEZ}
+	
+	
+	% Commands
+	%% Text shortcuts
+	%% Arguments
+	\DeclareDocumentCommand{\a}{m}{\obl{(}\obli{##1}\obl{)}}
+	\DeclareDocumentCommand{\A}{m}{\obl{(##1)}}
+	\DeclareDocumentCommand{\sa}{m}{\sarrow{##1}}
+	\DeclareDocumentCommand{\sA}{m}{\sarroW{##1}}
+	
+	%% Lambdas
+	\DeclareDocumentCommand{\lx}{O{}}{\lmdx[##1]}
+	\DeclareDocumentCommand{\lX}{O{}}{\lmdX[##1]}
+	\DeclareDocumentCommand{\Lx}{O{}}{\lmDx[##1]}
+	\DeclareDocumentCommand{\LX}{O{}}{\lmDX[##1]}
+	\DeclareDocumentCommand{\ly}{O{}}{\lmdy[##1]}
+	\DeclareDocumentCommand{\lY}{O{}}{\lmdY[##1]}
+	\DeclareDocumentCommand{\Ly}{O{}}{\lmDy[##1]}
+	\DeclareDocumentCommand{\LY}{O{}}{\lmDY[##1]}
+	\DeclareDocumentCommand{\lz}{O{}}{\lmdz[##1]}
+	\DeclareDocumentCommand{\lZ}{O{}}{\lmdZ[##1]}
+	\DeclareDocumentCommand{\Lz}{O{}}{\lmDz[##1]}
+	\DeclareDocumentCommand{\LZ}{O{}}{\lmDZ[##1]}
+	\DeclareDocumentCommand{\lp}{O{}}{\lmdp[##1]}
+	\DeclareDocumentCommand{\lP}{O{}}{\lmdP[##1]}
+	\DeclareDocumentCommand{\Lp}{O{}}{\lmDp[##1]}
+	\DeclareDocumentCommand{\LP}{O{}}{\lmDP[##1]}
+	\DeclareDocumentCommand{\lq}{O{}}{\lmdq[##1]}
+	\DeclareDocumentCommand{\lQ}{O{}}{\lmdQ[##1]}
+	\DeclareDocumentCommand{\Lq}{O{}}{\lmDq[##1]}
+	\DeclareDocumentCommand{\LQ}{O{}}{\lmDQ[##1]}
+	\DeclareDocumentCommand{\ls}{O{}}{\lmds[##1]}
+	\DeclareDocumentCommand{\lS}{O{}}{\lmdS[##1]}
+	\DeclareDocumentCommand{\Ls}{O{}}{\lmDs[##1]}
+	\DeclareDocumentCommand{\LS}{O{}}{\lmDS[##1]}
+	\DeclareDocumentCommand{\li}{O{}}{\lmdi[##1]}
+	\DeclareDocumentCommand{\lI}{O{}}{\lmdI[##1]}
+	\DeclareDocumentCommand{\Li}{O{}}{\lmDi[##1]}
+	\DeclareDocumentCommand{\LI}{O{}}{\lmDI[##1]}
+	\DeclareDocumentCommand{\lr}{O{}}{\lmdr[##1]}
+	\DeclareDocumentCommand{\lR}{O{}}{\lmdR[##1]}
+	\DeclareDocumentCommand{\Lr}{O{}}{\lmDr[##1]}
+	\DeclareDocumentCommand{\LR}{O{}}{\lmDR[##1]}
+	\DeclareDocumentCommand{\lu}{O{}}{\lmdu[##1]}
+	\DeclareDocumentCommand{\lU}{O{}}{\lmdU[##1]}
+	\DeclareDocumentCommand{\Lu}{O{}}{\lmDu[##1]}
+	\DeclareDocumentCommand{\LU}{O{}}{\lmDU[##1]}
+	\DeclareDocumentCommand{\lv}{O{}}{\lmdv[##1]}
+	\DeclareDocumentCommand{\lV}{O{}}{\lmdV[##1]}
+	\DeclareDocumentCommand{\Lv}{O{}}{\lmDv[##1]}
+	\DeclareDocumentCommand{\LV}{O{}}{\lmDV[##1]}
+	
+	
+	%% Lambda Functions
+	\DeclareDocumentCommand{\lfx}{m O{} O{x} O{#1} O{}}{\lambh{##3}[##5]\ifempty{##2}\bool{\j{##3} ##1 in ##4}\else\bool{##2}\fi}
+	\DeclareDocumentCommand{\lfX}{m O{} O{x} O{#1} O{}}{\lambH{##3}[##5]\ifempty{##2}\booL{\j{##3} ##1 in ##4}\else\booL{##2}\fi}
+	\DeclareDocumentCommand{\lfy}{m O{} O{y} O{x} O{#1} O{} O{}}{\lambh{##3}[##6]\lambh{##4}[##7]\ifempty{##2}\bool{\j{##4} ##1 \j{##3} in ##5}\else\bool{##2}\fi}
+	\DeclareDocumentCommand{\lfY}{m O{} O{y} O{x} O{#1} O{} O{}}{\lambH{##3}[##6]\lambH{##4}[##7]\ifempty{##2}\booL{\j{##4} ##1 \j{##3} in ##5}\else\booL{##2}\fi}
+	\DeclareDocumentCommand{\lfz}{m O{} O{z} O{y} O{x} O{#1} O{} O{} O{}}{\lambh{##3}[##7]\lambh{##4}[##8]\lambh{##5}[##9]\ifempty{##2}\bool{\j{##5} ##1 \j{##4}\ \j{##3} in ##6}\else\bool{##2}\fi}
+	\DeclareDocumentCommand{\lfZ}{m O{} O{z} O{y} O{x} O{#1} O{} O{} O{}}{\lambH{##3}[##7]\lambH{##4}[##8]\lambH{##5}[##9]\ifempty{##2}\booL{\j{##5} ##1 \j{##4}\ \j{##3} in ##6}\else\booL{##2}\fi}
+	
+	\DeclareDocumentCommand{\lfsx}{m O{} O{\sblank} O{x} O{} O{}}{\lambh{##3}[##5]\lambh{##4}[##6]\ifempty{##2}\bool{\j{##4} ##1 in ##3}\else\bool{##2}\fi}
+	\DeclareDocumentCommand{\lfsX}{m O{} O{\sblank} O{x} O{} O{}}{\lambH{##3}[##5]\lambH{##4}[##6]\ifempty{##2}\booL{\j{##4} ##1 in ##3}\else\booL{##2}\fi}
+	\DeclareDocumentCommand{\lfsy}{m O{} O{\sblank} O{y} O{x} O{} O{} O{}}{\lambh{##3}[##6]\lambh{##4}[##7]\lambh{##5}[##8]\ifempty{##2}\bool{\j{##5} ##1 \j{##4} in ##3}\else\bool{##2}\fi}
+	\DeclareDocumentCommand{\lfsY}{m O{} O{\sblank} O{y} O{x} O{} O{} O{}}{\lambH{##3}[##6]\lambH{##4}[##7]\lambH{##5}[##8]\ifempty{##2}\booL{\j{##5} ##1 \j{##4} in ##3}\else\booL{##2}\fi}
+	\DeclareDocumentCommand{\lfsz}{m O{} O{\sblank} O{z} O{y} O{x} O{} O{} O{}}{\lambh{##3}[##7]\lambh{##4}[##8]\lambh{##5}[##9]\lambh{##6}[##9]\ifempty{##2}\bool{\j{##6} ##1 \j{##5}\ \j{##4} in ##3}\else\bool{##2}\fi}
+	\DeclareDocumentCommand{\lfsZ}{m O{} O{\sblank} O{z} O{y} O{x} O{} O{} O{}}{\lambH{##3}[##7]\lambH{##4}[##8]\lambH{##5}[##9]\lambH{##6}[##9]\ifempty{##2}\booL{\j{##6} ##1 \j{##5}\ \j{##4} in ##3}\else\booL{##2}\fi}
+	
+	
+	%% fast derivation calc commands
+	\DeclareDocumentCommand{\r}{O{} O{} m}{\lambby[##1][##2]{##3}}
+	\DeclareDocumentCommand{\R}{O{} O{} m}{\lambbY[##1][##2]{##3}}
+	\DeclareDocumentCommand{\n}{m}{\bool{##1}}
+	\DeclareDocumentCommand{\N}{m}{\booL{##1}}
+	\DeclareDocumentCommand{\s}{O{x} m}{\set[##1]{##2}}
+	\DeclareDocumentCommand{\S}{O{x} m}{\seT[##1]{##2}}
+	\DeclareDocumentCommand{\cset}{m O{} O{\cs}}{\ensuremath{##1_\text{##3}^\text{##2}}}
+	
+	\DeclareDocumentCommand{\i}{m}{\sdi{##1}}
+	\DeclareDocumentCommand{\I}{m}{\sdI{##1}}
+	\DeclareDocumentCommand{\e}{O{#1} m}{\sde[##1]{##2}}
+	\DeclareDocumentCommand{\E}{O{#1} m}{\sdE[##1]{##2}}
+	
+	\DeclareDocumentCommand{\c}{O{\bm{i}} m}{\sic[##1]{##2}}
+	\DeclareDocumentCommand{\C}{O{\bm{i}} m}{\siC[##1]{##2}}
+	
+	\DeclareDocumentCommand{\t}{m}{\sit{##1}}
+	\DeclareDocumentCommand{\T}{m}{\siT{##1}}
+	\DeclareDocumentCommand{\ti}{m}{\sit{\textit{##1}}}
+	\DeclareDocumentCommand{\tI}{m}{\siT{\textit{##1}}}
+	\DeclareDocumentCommand{\tb}{m}{\sitnobf{##1}}
+	\DeclareDocumentCommand{\tB}{m}{\sitnobF{##1}}
+	\DeclareDocumentCommand{\tbi}{m}{\sitnobfi{##1}}
+	\DeclareDocumentCommand{\tbI}{m}{\sitnobfI{##1}}
+	\DeclareDocumentCommand{\d}{O{g} m}{\sid[##1]{##2}}
+	\DeclareDocumentCommand{\D}{O{g} m}{\siD[##1]{##2}}
+	
+	\DeclareDocumentCommand{\dr}{m O{r} O{g} O{x}}{\sidr{##1}{##2}[##4][##3]}
+	\DeclareDocumentCommand{\dR}{m O{r} O{g} O{x}}{\sidR{##1}{##2}[##4][##3]}
+	\DeclareDocumentCommand{\drr}{m O{r} O{d} O{g} O{x} O{y}}{\sidrr{##1}{##2}{##3}[##5][##6][##4]}
+	\DeclareDocumentCommand{\dRR}{m O{r} O{d} O{g} O{x} O{y}}{\sidRR{##1}{##2}{##3}[##5][##6][##4]}
+	\DeclareDocumentCommand{\drrr}{m O{r} O{d} O{t} O{g} O{x} O{y} O{z}}{\sidrrr{##1}{##2}{##3}{##4}[##6][##7][##8][##5]}
+	\DeclareDocumentCommand{\dRRR}{m O{r} O{d} O{t} O{g} O{x} O{y} O{z}}{\sidRRR{##1}{##2}{##3}{##4}[##6][##7][##8][##5]}
+\noindent}{
 	\let\fgslisinfgls\@fglsundefined
 }
 
+\DeclareDocumentCommand{\fglsem}{O{\FGL at situation} m}{\begin{fgls}[#1]#2\end{fgls}}
 
+
 %% Derivation
 \DeclareDocumentEnvironment{semderivation}{O{\FGL at situation} O{}}{
 	
 	\let\@fglsinterladeriref\@fglsundefined
 	\newcommand{\@fglsinterladeriref}{\ifempty{#2}\the at fglsderivationcounter\else#2\fi}
-
-
+	
+	
 	\setcounter{@fglscalcitemcounter}{0}
 	\ifempty{\fglsisinderivation}\stepcounter{@fglsderivationcounter}\fi
 	\let\@snote\@fglsundefined
@@ -1117,6 +1417,8 @@
 	\let\nc\@fglsundefined
 	\let\lex\@fglsundefined
 	\newcommand{\fa}{App}
+	\newcommand{\bta}{\ensuremath{\beta}-\@fragolivarreduction}
+	\newcommand{\alp}{\ensuremath{\alpha}-\@fragolivarconversion}
 	\newcommand{\abs}{Abs}
 	\newcommand{\mod}{Mod}
 	\newcommand{\var}{Var}
@@ -1128,7 +1430,7 @@
 	
 	
 	\DeclareDocumentCommand{\cdr}{}{sem:deri:\ifempty{#2}\the at fglsderivationcounter\else#2\fi}
-	\DeclareDocumentCommand{\ds}{O{} m O{}}{\stepcounter{@fglscalcitemcounter}\item[\ifempty{##3}\ensuremath{\stackrel{\color{deivationrowcountcolor}\the at fglscalcitemcounter.\color{black}}{=\ }}\else##3\fi]\edef\@currentlabel{\the at fglscalcitemcounter}\label{sem:deri:\@fglsinterladeriref:ds:\the at fglscalcitemcounter} ##2 \@snote{##1}}
+	\DeclareDocumentCommand{\ds}{O{} m O{}}{\stepcounter{@fglscalcitemcounter}\item[\ifempty{##3}\ensuremath{\stackrel{\color{fgldeivationrowcountcolor}\the at fglscalcitemcounter.\color{black}}{=\ }}\else##3\fi]\edef\@currentlabel{\the at fglscalcitemcounter}\label{sem:deri:\@fglsinterladeriref:ds:\the at fglscalcitemcounter} ##2 \@snote{##1}}
 	\DeclareDocumentCommand{\dS}{O{} m O{}}{\stepcounter{@fglscalcitemcounter}\item[##3]\edef\@currentlabel{\the at fglscalcitemcounter}\label{sem:deri:\@fglsinterladeriref:ds:\the at fglscalcitemcounter} ##2 \@snote{##1}}
 	\let\@fglsopenedfglsderi\@fglsundefined
 	
@@ -1135,303 +1437,303 @@
 	\ifempty{\fglsisinderivation}\begin{fgls}[#1]\fi
 		\begin{cps}
 			\ifempty{\fglsisinderivation}\begin{itemize}[leftmargin=*,noitemsep]\edef\@currentlabel{\the at fglsderivationcounter}\label{sem:deri:\@fglsinterladeriref}\else\begin{itemize}\fi
+				}
+				{
+				\end{itemize}
+			\end{cps}
+			\ifempty{\fglsisinderivation}\end{fgls}\fi
+		
+	}
+	\DeclareDocumentEnvironment{semcalc}{O{\FGL at situation} O{}}{
+		% ------------------------------
+		% Counter
+		% ------------------------------
+		\let\fglsisinderivation\@fglsundefined
+		\DeclareDocumentCommand{\fglsisinderivation}{}{true}
+		
+		
+		
+		\let\@fglscurrentdersit\@fglsundefined
+		\DeclareDocumentCommand{\@fglscurrentdersit}{}{#1}
+		
+		\let\@fglsrefname\@fgslundefined
+		\newcommand{\@fglsrefname}{#2}
+		\let\@fglsinterladeriref\@fglsundefined
+		\newcommand{\@fglsinterladeriref}{\ifempty{\@fglsrefname}\the at fglsderivationcounter\else\@fglsrefname\fi}
+		\let\@rentrylabel\@fglsundefined
+		\newcommand{\@rentrylabel}{R}
+		\let\@rentrylabellower\@fglsundefined
+		\newcommand{\@rentrylabellower}{r}
+		\stepcounter{@fglscalcitemcounter}
+		\stepcounter{@fglsderivationcounter}
+		
+		
+		\DeclareDocumentCommand{\cdr}{}{sem:deri:\@fglsinterladeriref}
+		\DeclareDocumentCommand{\rr}{m}{\ref{\cdr:r:##1}}
+		\DeclareDocumentCommand{\rrs}{m}{\ref{\cdr:rs:##1}}
+		\DeclareDocumentCommand{\rl}{m}{\ref{\cdr:l:##1}}
+		\DeclareDocumentCommand{\rla}{m}{\ref{\cdr:la:##1}}
+		
+		\let\@snote\@fglsundefined
+		\let\rentrysub\@fglsundefined
+		\let\rentry\@fglsundefined
+		
+		\newcommand{\@snote}[1]{\strut\hfill \raisebox{.22ex}{\tiny ##1}}
+		
+		\DeclareDocumentCommand{\rentry}{O{} m O{}}{\stepcounter{@fglscalcitemcounter}\item[\ifempty{##3}\text{\@rentrylabel}\the at fglscalcitemcounter:\else##3\fi]\edef\@currentlabel{\@rentrylabel\the at fglscalcitemcounter}\label{sem:deri:\@fglsinterladeriref:\@rentrylabellower:\the at fglscalcitemcounter}##2 \@snote{##1}}
+		\newcommand{\rentrysub}[2][]{\begin{itemize}\item[##1] {\footnotesize ##2}\end{itemize}}
+		\edef\@currentlabel{\the at fglsderivationcounter}\label{sem:deri:\@fglsinterladeriref}
+		\begin{fgls}[#1]
+			\begin{enumerate}[label=(\roman*), noitemsep]
 			}
 			{
+			\end{enumerate}
+		\end{fgls}
+		\let\fglsisinderivation\@fglsundefined
+		\let\@fglscurrentdersit\@fglsundefined
+	}
+	
+	\newenvironment{semlang}[1][]{
+		\setcounter{@fglscalcitemcounter}{0}
+		
+		
+		\let\rlang\@fglsundefined
+		\DeclareDocumentCommand{\rlang}{m O{} O{} O{} O{} O{} O{} O{} O{L}}{\rentry[]{= \ifempty{##2}\else\text{L\textsubscript{##2}}\fi \ifempty{##3}\else\ $\cup$\ \text{L\textsubscript{##3}}\fi\ifempty{##4}\else\ $\cup$\ \text{L\textsubscript{##4}}\fi\ifempty{##5}\else\ $\cup$\ \text{L\textsubscript{##5}}\fi\ifempty{##6}\else\ $\cup$\ \text{L\textsubscript{##6}}\fi\ifempty{##7}\else\ $\cup$\ \text{L\textsubscript{##7}}\fi\ifempty{##8}\else\ $\cup$\ \text{L\textsubscript{##8}}\fi\ifempty{##2}\else\text{\ =\ }\fi$\{$##1$\}$}[##9]}
+		
+		\renewcommand{\@rentrylabel}{LA}
+		\let\@rentrylabellower\@fglsundefined
+		\newcommand{\@rentrylabellower}{la}
+		\ifempty{#1}\item\textit{\@fragolivarlanguage}:\else\item[#1]\fi
+		\begin{cps}
+			\begin{itemize}
+			}
+			{
 			\end{itemize}
 		\end{cps}
-	\ifempty{\fglsisinderivation}\end{fgls}\fi
-	
-}
-\DeclareDocumentEnvironment{semcalc}{O{\FGL at situation} O{}}{
-	% ------------------------------
-	% Counter
-	% ------------------------------
-	\let\fglsisinderivation\@fglsundefined
-	\DeclareDocumentCommand{\fglsisinderivation}{}{true}
-	
-	
-	
-	\let\@fglscurrentdersit\@fglsundefined
-	\DeclareDocumentCommand{\@fglscurrentdersit}{}{#1}
-	
-	\let\@fglsrefname\@fgslundefined
-	\newcommand{\@fglsrefname}{#2}
-	\let\@fglsinterladeriref\@fglsundefined
-		\newcommand{\@fglsinterladeriref}{\ifempty{\@fglsrefname}\the at fglsderivationcounter\else\@fglsrefname\fi}
-	\let\@rentrylabel\@fglsundefined
-	\newcommand{\@rentrylabel}{R}
-	\let\@rentrylabellower\@fglsundefined
-	\newcommand{\@rentrylabellower}{r}
-	\stepcounter{@fglscalcitemcounter}
-	\stepcounter{@fglsderivationcounter}
-	
-
-	\DeclareDocumentCommand{\cdr}{}{sem:deri:\@fglsinterladeriref}
-	\DeclareDocumentCommand{\rr}{m}{\ref{\cdr:r:##1}}
-	\DeclareDocumentCommand{\rrs}{m}{\ref{\cdr:rs:##1}}
-	\DeclareDocumentCommand{\rl}{m}{\ref{\cdr:l:##1}}
-	\DeclareDocumentCommand{\rla}{m}{\ref{\cdr:la:##1}}
-	
-	\let\@snote\@fglsundefined
-	\let\rentrysub\@fglsundefined
-	\let\rentry\@fglsundefined
-	
-	\newcommand{\@snote}[1]{\strut\hfill \raisebox{.22ex}{\tiny ##1}}
-	
-	\DeclareDocumentCommand{\rentry}{O{} m O{}}{\stepcounter{@fglscalcitemcounter}\item[\ifempty{##3}\text{\@rentrylabel}\the at fglscalcitemcounter:\else##3\fi]\edef\@currentlabel{\@rentrylabel\the at fglscalcitemcounter}\label{sem:deri:\@fglsinterladeriref:\@rentrylabellower:\the at fglscalcitemcounter}##2 \@snote{##1}}
-	\newcommand{\rentrysub}[2][]{\begin{itemize}\item[##1] {\footnotesize ##2}\end{itemize}}
-	\edef\@currentlabel{\the at fglsderivationcounter}\label{sem:deri:\@fglsinterladeriref}
-	\begin{fgls}[#1]
-		\begin{enumerate}[label=(\roman*), noitemsep]
-		}
-		{
-		\end{enumerate}
-	\end{fgls}
-	\let\fglsisinderivation\@fglsundefined
-	\let\@fglscurrentdersit\@fglsundefined
-}
-
-\newenvironment{semlang}[1][]{
-	\setcounter{@fglscalcitemcounter}{0}
-	
-	
-	\let\rlang\@fglsundefined
-	\DeclareDocumentCommand{\rlang}{m O{} O{} O{} O{} O{} O{} O{} O{L}}{\rentry[]{= \ifempty{##2}\else\text{L\textsubscript{##2}}\fi \ifempty{##3}\else\ $\cup$\ \text{L\textsubscript{##3}}\fi\ifempty{##4}\else\ $\cup$\ \text{L\textsubscript{##4}}\fi\ifempty{##5}\else\ $\cup$\ \text{L\textsubscript{##5}}\fi\ifempty{##6}\else\ $\cup$\ \text{L\textsubscript{##6}}\fi\ifempty{##7}\else\ $\cup$\ \text{L\textsubscript{##7}}\fi\ifempty{##8}\else\ $\cup$\ \text{L\textsubscript{##8}}\fi\ifempty{##2}\else\text{\ =\ }\fi$\{$##1$\}$}[##9]}
-	
-	\renewcommand{\@rentrylabel}{LA}
-	\let\@rentrylabellower\@fglsundefined
-		\newcommand{\@rentrylabellower}{la}
-	\ifempty{#1}\item\textit{\@fragolivarlanguage}:\else\item[#1]\fi
-	\begin{cps}
-	\begin{itemize}
+		
+		% 
 	}
+	\newenvironment{semtreesem}[1][]{
+		\setcounter{@fglscalcitemcounter}{0}
+		
+		\ifempty{#1}\item\textit{\@fragolivartreesem}:\else\item[#1]\fi
+		
+		
+	}
 	{
-	\end{itemize}
-	\end{cps}
-
-	% 
-}
-\newenvironment{semtreesem}[1][]{
-	\setcounter{@fglscalcitemcounter}{0}
-
-	\ifempty{#1}\item\textit{\@fragolivartreesem}:\else\item[#1]\fi
-	
+	}
+	\newenvironment{semtreesyn}[1][]{
+		\setcounter{@fglscalcitemcounter}{0}
 		
-		}
-		{
-}
-\newenvironment{semtreesyn}[1][]{
-	\setcounter{@fglscalcitemcounter}{0}
-	
-	\ifempty{#1}\item\textit{\@fragolivartreesyn}:\else\item[#1]\fi
+		\ifempty{#1}\item\textit{\@fragolivartreesyn}:\else\item[#1]\fi
 		
 	}
 	{
 		
-}
-\newenvironment{semtree}[1][]{
-	\setcounter{@fglscalcitemcounter}{0}
-	\ifempty{#1}\item\textit{\@fragolivartree}:\else\item[#1]\fi
+	}
+	\newenvironment{semtree}[1][]{
+		\setcounter{@fglscalcitemcounter}{0}
+		\ifempty{#1}\item\textit{\@fragolivartree}:\else\item[#1]\fi
 		
+	}
+	{
+		
+	}
+	\DeclareDocumentEnvironment{semderi}{O{}}{
+		\ifempty{#1}\item\textit{\@fragolivarderivation}:\else\item[#1]\fi
+		\begin{semderivation}[\@fglscurrentdersit][\@fglsrefname]
 		}
 		{
+		\end{semderivation}	
+	}
+	\newenvironment{semlex}[1][]{
+		\setcounter{@fglscalcitemcounter}{0}
+		\renewcommand{\@rentrylabel}{L}
+		\let\@rentrylabellower\@fglsundefined
+		\newcommand{\@rentrylabellower}{l}
 		
-}
-\DeclareDocumentEnvironment{semderi}{O{}}{
-	\ifempty{#1}\item\textit{\@fragolivarderivation}:\else\item[#1]\fi
-	\begin{semderivation}[\@fglscurrentdersit][\@fglsrefname]
+		% Lexicon entries
+		
+		%% Direct
+		%%% Extension
+		%%%% General
+		\DeclareDocumentCommand{\sldex}{m O{} O{} O{x} O{\cs} O{\@typee} O{}}{\rentry[##3]{\e[##5]{##1} = \l{##4}[##6]\ifempty{##2}\n{\j{##4} ##1 in ##5}\else\n{##2}\fi}[##7]}
+		\DeclareDocumentCommand{\sldey}{m O{} O{} O{x} O{y} O{\cs} O{\@typee} O{\@typee} O{}}{\rentry[##3]{\sde[##6]{##1} = \lambh{##5}[##8]\lambh{##4}[##7]\ifempty{##2}\bool{\j{##4} ##1 \j{##5} in ##6}\else\bool{##2}\fi}[##9]}
+		\DeclareDocumentCommand{\sldez}{m O{} O{} O{x} O{y} O{z} O{\cs} O{\@typee} O{\@typee}}{\rentry[##3]{\sde[##7]{##1} = \lambh{##6}[##9]\lambh{##5}[##9]\lambh{##4}[##8]\ifempty{##2}\bool{\j{##4} ##1 \j{##5} \j{##6} in ##7}\else\bool{##2}\fi}}
+		%%%% Proper Names
+		\DeclareDocumentCommand{\sldenn}{m O{} O{\cs} O{}}{\rentry[##2]{\sde[##3]{##1} = ##1}[##4]}
+		\DeclareDocumentCommand{\sldennpeter}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Peter} = Peter}[##3]}
+		\DeclareDocumentCommand{\sldennmaria}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Maria} = Maria}[##3]}
+		\DeclareDocumentCommand{\sldennanna}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Anna} = Anna}[##3]}
+		\DeclareDocumentCommand{\sldennalina}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Alina} = Alina}[##3]}
+		\DeclareDocumentCommand{\sldennmarta}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Marta} = Marta}[##3]}
+		\DeclareDocumentCommand{\sldennpaul}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Paul} = Paul}[##3]}
+		\DeclareDocumentCommand{\sldenneike}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Eike} = Eike}[##3]}
+		\DeclareDocumentCommand{\sldennida}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Ida} = Ida}[##3]}
+		\DeclareDocumentCommand{\sldenolaf}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Olaf} = Olaf}[##3]}
+		\DeclareDocumentCommand{\sldenmichael}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Michael} = Michael}[##3]}
+		%%%% Nominals
+		\let\@fglssldenbuilder\@fglsundefined
+		\DeclareDocumentCommand{\@fglssldenbuilder}{m m m m}{\ensuremath{##1} \@fragolivarlexbool[##2]{##3} ##4}
+		\DeclareDocumentCommand{\slden}{m O{\@fragolivarlarticle} O{} O{x} O{\cs} O{\@typee} O{}}{\sldex{##1}[\@fglssldenbuilder{##4}{\ifempty{##2}\@fragolivarlarticle\else##2\fi}{##1}{##5}][##3][##4][##5][##6][##7]}
+		\DeclareDocumentCommand{\sldenman}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexman}[\@fragolivarlarticle][##1][##2][##3][##4][##5]}
+		\DeclareDocumentCommand{\sldenwoman}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexwoman}[\@fragolivarlarticlegermanswitch][##1][##2][##3][##4][##5]}
+		\DeclareDocumentCommand{\sldenchild}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexchild}[\@fragolivarlarticle][##1][##2][##3][##4][##5]}
+		\DeclareDocumentCommand{\sldendog}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexdog}[\@fragolivarlarticle][##1][##2][##3][##4][##5]}
+		\DeclareDocumentCommand{\sldencat}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexcat}[\@fragolivarlarticle][##1][##2][##3][##4][##5]}
+		\DeclareDocumentCommand{\sldendonkey}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexdonkey}[\@fragolivarlarticle][##1][##2][##3][##4][##5]}
+		\DeclareDocumentCommand{\sldenhouse}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexhouse}[\@fragolivarlarticle][##1][##2][##3][##4][##5]}
+		\DeclareDocumentCommand{\sldenanimal}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexanimal}[\@fragolivarlarticlegermanswitchn][##1][##2][##3][##4][##5]}
+		%%% Intension
+		%%%% General
+		\DeclareDocumentCommand{\sldix}{m O{} O{} O{x} O{\sblank} O{\@typee} O{\@types} O{}}{\rentry[##3]{\i{##1} = \l{##5}[##7]\l{##4}[##6]\ifempty{##2}\n{\j{##4} ##1 in ##5}\else\n{##2}\fi}[##8]}
+		\DeclareDocumentCommand{\sldiy}{m O{} O{} O{x} O{y} O{\sblank} O{\@typee} O{\@typee} O{\@types}}{\rentry[##3]{\i{##1} = \l{##6}[##9]\l{##5}[##8]\l{##4}[##7]\ifempty{##2}\n{\j{##4} ##1 \j{##5} in ##6}\else\n{##2}\fi}}
+		\DeclareDocumentCommand{\sldiz}{m O{} O{} O{x} O{y} O{z} O{\sblank} O{\@typee} O{\@types}}{\rentry[##3]{\i{##1} = \l{##7}[##9]\l{##6}[##8]\l{##5}[##8]\l{##4}[##8]\ifempty{##2}\n{\j{##4} ##1 \j{##5} \j{##6} in ##7}\else\n{##2}\fi}}
+		%%%% Proper Names
+		\DeclareDocumentCommand{\sldinn}{m O{} O{\sblank} O{\@types} O{}}{\rentry[##2]{\sdi{##1} = \lambh{##3}[##4]##1}[##5]}
+		
+		%% Indirect
+		%%% Translation
+		\DeclareDocumentCommand{\slit}{m m O{} O{}}{\rentry[##3]{\sit{##1} = ##2}[##4]}
+		%%%% General
+		\DeclareDocumentCommand{\slitnn}{m O{} O{}}{\slit{##1}{\obl{\lowercase{\StrMid{##1}{1}{1}}}}[##2][##3]}
+		\DeclareDocumentCommand{\slitnnpeter}{O{} O{}}{\slitnn{Peter}[##1][##2]}
+		\DeclareDocumentCommand{\slitnnmaria}{O{} O{}}{\slitnn{Maria}[##1][##2]}
+		\DeclareDocumentCommand{\slitnnmarta}{O{} O{}}{\slitnn{Marta}[##1][##2]}
+		\DeclareDocumentCommand{\slitnnalina}{O{} O{}}{\slitnn{Alina}[##1][##2]}
+		\DeclareDocumentCommand{\slitnnanna}{O{} O{}}{\slitnn{Anna}[##1][##2]}
+		\DeclareDocumentCommand{\slitnnpaul}{O{} O{}}{\slitnn{Paul}[##1][##2]}
+		\DeclareDocumentCommand{\slitnneike}{O{} O{}}{\slitnn{Eike}[##1][##2]}
+		\DeclareDocumentCommand{\slitnnida}{O{} O{}}{\slitnn{Ida}[##1][##2]}
+		\DeclareDocumentCommand{\slitnnolaf}{O{} O{}}{\slitnn{Olaf}[##1][##2]}
+		\DeclareDocumentCommand{\slitnnmichael}{O{} O{}}{\slitnn{Michael}[##1][##2]}
+		\DeclareDocumentCommand{\slitf}{m O{\bm{i}} O{} O{}}{\slit{##1}{\sic[##2]{\uppercase{\StrMid{##1}{1}{1}}}}[##3][##4]}
+		
+		%%%% Logic
+		\DeclareDocumentCommand{\slitland}{O{} O{}}{\slit{\@fragolivarand}{\jC}[##1][##2]}
+		\DeclareDocumentCommand{\slitlor}{O{} O{q} O{p} O{\@typet} O{\@typet} O{}}{\slit{\@fragolivaror}{\l{##2}[##4]\l{##3}[##5]\jN\R{\jn\ensuremath{##3}\jC\jN\ensuremath{##2}}}[##1][##6]}
+		
+		%%%% Quantifier
+		\DeclareDocumentCommand{\slitlmost}{O{} O{}}{\rentry[##1]{\sit{\@fragolivarmost} = \obl{MOST}}[##2]}
+		\DeclareDocumentCommand{\slitlno}{O{} O{Q} O{P} O{x} O{\@typeet} O{\@typeet} O{\@typee} O{}}{\rentry[##1]{\t{\@fragolivarno} = \L{##2}[##5]\o{(}\L{##3}[##6]\lambheN[##4][##7]\R{\sanD{\v{##2}\a{##4}}{\v{##3}\a{##4}}}\o{)}}[##8]}
+		\DeclareDocumentCommand{\slitlevery}{O{} O{Q} O{P} O{x} O{\@typeet} O{\@typeet} O{\@typee} O{}}{\rentry[##1]{\t{\@fragolivarevery} = \L{##2}[##5]\obl{(}\L{##3}[##6]\lambheN[##4][##7]\R{\sanD{\v{##2}\a{##4}}{\sneg\v{##3}\a{##4}}}\o{)}}[##8]}
+		\DeclareDocumentCommand{\slitloneindef}{O{} O{Q} O{P} O{x}  O{\@typeet} O{\@typeet} O{\@typee} O{}}{\rentry[##1]{\t{\@fragolivaroneindef} = \L{##2}[##5]\o{(}\L{##3}[##6]\lambhE[##4][##7]\R{\sanD{\v{##2}\a{##4}}{\v{##3}\a{##4}}}\o{)}}[##8]}
+		\DeclareDocumentCommand{\slitlonenum} {O{} O{Q} O{P} O{x} O{y} O{\@typeet} O{\@typeet} O{\@typee} O{\@typee}} {\rentry[##1]{ \t{\@fragolivaronenum} = \L{##2}[##6]\obl{(}\L{##3}[##7]\lambhE[##4][##8]\R{\sanD{ \sanD{\v{##2}\a{##4}}{\v{##3}\a{##4}}}{\lambheN[##5][##9]\R{\sanD{\sanD{\sneg\a{##4 = ##5} }{\v{##2}\a{##5}}}{\v{##3}\a{##5}}}}}\obl{)}}}
+		\DeclareDocumentCommand{\slitldefarticle}{O{} O{Q} O{P} O{x} O{y} O{\@typeet} O{\@typeet} O{\@typee} O{\@typee}}{\rentry[##1]{\t{\@fragolivardefarticle} = \L{##2}[##6]\o{(}\L{##3}[##7]\lambhE[##4][##8]\R{\sanD{\v{##2}\a{##4}}{\lambheN[##5][##9]\sanD{\R{\sanD{\sneg\a{##4 = ##5}}{\v{##2}\a{##5}}}}{\v{##3}\a{##4}}}}\o{)}}}
+		%%%% Attitude
+		\DeclareDocumentCommand{\slitAttitudeBuilder}{m m O{p} O{x} O{j} O{i} O{\@typest} O{\@typee} O{\@types}}{\sit{##1} = \lambH{##3}[##7]\obl{(}\lambH{##4}[##8]\lambhA[##5][##9]\R{\simP{\o{##2}\a{##4}\a{##6}\a{##5}}{\c{\obli{##3}}}}\obl{)}}
+		\DeclareDocumentCommand{\slitadox}{O{} O{p} O{x} O{j} O{i} O{\@typest} O{\@typee} O{\@types} O{}}{\rentry[##1]{\slitAttitudeBuilder{\@fragolivarlexattdox}{DOX}[##2][##3][##4][##5][##6][##7][##8]}[##9]}
+		\DeclareDocumentCommand{\slitaepi}{O{} O{p} O{x} O{j} O{i} O{\@typest} O{\@typee} O{\@types} O{}}{\rentry[##1]{\slitAttitudeBuilder{\@fragolivarlexattepi}{EPI}[##2][##3][##4][##5][##6][##7][##8]}[##9]}
+		\DeclareDocumentCommand{\slitabou}{O{} O{p} O{x} O{j} O{i} O{\@typest} O{\@typee} O{\@types} O{}}{\rentry[##1]{\slitAttitudeBuilder{\@fragolivarlexattbou}{BOU}[##2][##3][##4][##5][##6][##7][##8]}[##9]}
+		%%% Denotation
+		%%%% General
+		\DeclareDocumentCommand{\slid}{m m O{} O{} O{}}{\rentry[##3]{\sid[##4]{##1} = ##2}[##5]}
+		%%%% Proper Names
+		\DeclareDocumentCommand{\slidnn}{m O{} O{} O{}}{\slid{\obl{\lowercase{\StrMid{##1}{1}{1}}}}{##1}[##2][##3][##4]}
+		\DeclareDocumentCommand{\slidnnpeter}{O{} O{} O{}}{\slidnn{Peter}[##1][##2][##3]}
+		\DeclareDocumentCommand{\slidnnmaria}{O{} O{} O{}}{\slidnn{Maria}[##1][##2][##3]}
+		\DeclareDocumentCommand{\slidnnmarta}{O{} O{} O{}}{\slidnn{Marta}[##1][##2][##3]}
+		\DeclareDocumentCommand{\slidnnalina}{O{} O{} O{}}{\slidnn{Alina}[##1][##2][##3]}
+		\DeclareDocumentCommand{\slidnnanna}{O{} O{} O{}}{\slidnn{Anna}[##1][##2][##3]}
+		\DeclareDocumentCommand{\slidnnpaul}{O{} O{} O{}}{\slidnn{Paul}[##1][##2][##3]}
+		\DeclareDocumentCommand{\slidnneike}{O{} O{} O{}}{\slidnn{Eike}[##1][##2][##3]}
+		\DeclareDocumentCommand{\slidnnida}{O{} O{} O{}}{\slidnn{Ida}[##1][##2][##3]}
+		\DeclareDocumentCommand{\slidnnolaf}{O{} O{} O{}}{\slidnn{Olaf}[##1][##2][##3]}
+		\DeclareDocumentCommand{\slidnnmichael}{O{} O{} O{}}{\slidnn{Michael}[##1][##2][##3]}
+		%%%% Logic
+		\DeclareDocumentCommand{\slidland}{O{} O{v} O{u} O{} O{\@typet} O{\@typet} O{}}{\slid{\ensuremath{\land}}{\lambh{##2}[##5]\lambh{##3}[##6]\r{\meli{##2} \ensuremath{\cdot} \meli{##3}}}[##1][##4][##7]}
+		\DeclareDocumentCommand{\slidlequal}{O{} O{y} O{x} O{} O{\@typet} O{\@typet} O{}}{\slid{=}{\lambh{##2}[##5]\lambh{##3}[##6]\n{\meli{##2} = \meli{##3}}}[##1][##4][##7]}
+		\DeclareDocumentCommand{\slidlneg}{O{} O{u} O{} O{\@typet} O{}}{\slid{\ensuremath{\neg}}{\lambh{##2}[##4]\r{1 - \meli{##2}}}[##1][##3][##5]}
+		\DeclareDocumentCommand{\slidlexists}{O{} O{P} O{} O{\@typeet} O{}}{\slid{\ensuremath{\exists}}{\lambh{##2}[##4]\n{\ensuremath{\downarrow}\meli{##2} \ensuremath{\neq} \ensuremath{\emptyset}}}[##1][##3][##5]}
+		%%%% Attitude
+		\DeclareDocumentCommand{\slidAttitudeBuilder}{m m O{x} O{\sz} O{\so} O{\@typee} O{\@types} O{\@types} O{}}{\slid{##1}{\lambh{##3}[##6]\lambh{##4}[##7]\lambh{##5}[##8]\n{##5 \@fragolivarlis\ \@fragolivarlarticlegermanswitch\ ##2 alternative\  \@fragolivarlof\ \meli{##3} in ##4}}[##9]}
+		\DeclareDocumentCommand{\slidadox}{O{x} O{\sz} O{\so} O{\@typee} O{\@types} O{\@types} O{}}{\slidAttitudeBuilder{DOX}{\@fragolivarlexattdoxterm}[##1][##2][##3][##4][##5][##6][##7]}
+		\DeclareDocumentCommand{\slidaepi}{O{x} O{\sz} O{\so} O{\@typee} O{\@types} O{\@types} O{}}{\slidAttitudeBuilder{EPI}{\@fragolivarlexattepiterm}[##1][##2][##3][##4][##5][##6][##7]}
+		\DeclareDocumentCommand{\slidabou}{O{x} O{\sz} O{\so} O{\@typee} O{\@types} O{\@types} O{}}{\slidAttitudeBuilder{BOU}{\@fragolivarlexattbouterm}[##1][##2][##3][##4][##5][##6][##7]}
+		
+		
+		\ifempty{#1}\item\textit{\@fragolivarlexicon}:\else\item[#1]\fi
+		\begin{itemize}
 		}
 		{
-	\end{semderivation}	
-}
-\newenvironment{semlex}[1][]{
-	\setcounter{@fglscalcitemcounter}{0}
-	\renewcommand{\@rentrylabel}{L}
-	\let\@rentrylabellower\@fglsundefined
-		\newcommand{\@rentrylabellower}{l}
-
-	% Lexicon entries
-	
-	%% Direct
-	%%% Extension
-	%%%% General
-	\DeclareDocumentCommand{\sldex}{m O{} O{} O{x} O{\cs} O{\@typee} O{}}{\rentry[##3]{\e[##5]{##1} = \l{##4}[##6]\ifempty{##2}\n{\j{##4} ##1 in ##5}\else\n{##2}\fi}[##7]}
-	\DeclareDocumentCommand{\sldey}{m O{} O{} O{x} O{y} O{\cs} O{\@typee} O{\@typee} O{}}{\rentry[##3]{\sde[##6]{##1} = \lambh{##5}[##8]\lambh{##4}[##7]\ifempty{##2}\bool{\j{##4} ##1 \j{##5} in ##6}\else\bool{##2}\fi}[##9]}
-	\DeclareDocumentCommand{\sldez}{m O{} O{} O{x} O{y} O{z} O{\cs} O{\@typee} O{\@typee}}{\rentry[##3]{\sde[##7]{##1} = \lambh{##6}[##9]\lambh{##5}[##9]\lambh{##4}[##8]\ifempty{##2}\bool{\j{##4} ##1 \j{##5} \j{##6} in ##7}\else\bool{##2}\fi}}
-	%%%% Proper Names
-	\DeclareDocumentCommand{\sldenn}{m O{} O{\cs} O{}}{\rentry[##2]{\sde[##3]{##1} = ##1}[##4]}
-	\DeclareDocumentCommand{\sldennpeter}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Peter} = Peter}[##3]}
-	\DeclareDocumentCommand{\sldennmaria}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Maria} = Maria}[##3]}
-	\DeclareDocumentCommand{\sldennanna}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Anna} = Anna}[##3]}
-	\DeclareDocumentCommand{\sldennalina}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Alina} = Alina}[##3]}
-	\DeclareDocumentCommand{\sldennmarta}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Marta} = Marta}[##3]}
-	\DeclareDocumentCommand{\sldennpaul}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Paul} = Paul}[##3]}
-	\DeclareDocumentCommand{\sldenneike}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Eike} = Eike}[##3]}
-	\DeclareDocumentCommand{\sldennida}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Ida} = Ida}[##3]}
-	\DeclareDocumentCommand{\sldenolaf}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Olaf} = Olaf}[##3]}
-	\DeclareDocumentCommand{\sldenmichael}{O{} O{\cs} O{}}{\rentry[##1]{\sde[##2]{Michael} = Michael}[##3]}
-	%%%% Nominals
-	\let\@fglssldenbuilder\@fglsundefined
-	\DeclareDocumentCommand{\@fglssldenbuilder}{m m m m}{\ensuremath{##1} \@fragolivarlexbool[##2]{##3} ##4}
-	\DeclareDocumentCommand{\slden}{m O{\@fragolivarlarticle} O{} O{x} O{\cs} O{\@typee} O{}}{\sldex{##1}[\@fglssldenbuilder{##4}{\ifempty{##2}\@fragolivarlarticle\else##2\fi}{##1}{##5}][##3][##4][##5][##6][##7]}
-	\DeclareDocumentCommand{\sldenman}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexman}[\@fragolivarlarticle][##1][##2][##3][##4][##5]}
-	\DeclareDocumentCommand{\sldenwoman}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexwoman}[\@fragolivarlarticlegermanswitch][##1][##2][##3][##4][##5]}
-	\DeclareDocumentCommand{\sldenchild}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexchild}[\@fragolivarlarticle][##1][##2][##3][##4][##5]}
-	\DeclareDocumentCommand{\sldendog}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexdog}[\@fragolivarlarticle][##1][##2][##3][##4][##5]}
-	\DeclareDocumentCommand{\sldencat}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexcat}[\@fragolivarlarticle][##1][##2][##3][##4][##5]}
-	\DeclareDocumentCommand{\sldendonkey}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexdonkey}[\@fragolivarlarticle][##1][##2][##3][##4][##5]}
-	\DeclareDocumentCommand{\sldenhouse}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexhouse}[\@fragolivarlarticle][##1][##2][##3][##4][##5]}
-	\DeclareDocumentCommand{\sldenanimal}{O{} O{x} O{\cs} O{\@typee} O{}}{\slden{\@fragolivarlexanimal}[\@fragolivarlarticlegermanswitchn][##1][##2][##3][##4][##5]}
-	%%% Intension
-	%%%% General
-	\DeclareDocumentCommand{\sldix}{m O{} O{} O{x} O{\sblank} O{\@typee} O{\@types} O{}}{\rentry[##3]{\i{##1} = \l{##5}[##7]\l{##4}[##6]\ifempty{##2}\n{\j{##4} ##1 in ##5}\else\n{##2}\fi}[##8]}
-	\DeclareDocumentCommand{\sldiy}{m O{} O{} O{x} O{y} O{\sblank} O{\@typee} O{\@typee} O{\@types}}{\rentry[##3]{\i{##1} = \l{##6}[##9]\l{##5}[##8]\l{##4}[##7]\ifempty{##2}\n{\j{##4} ##1 \j{##5} in ##6}\else\n{##2}\fi}}
-	\DeclareDocumentCommand{\sldiz}{m O{} O{} O{x} O{y} O{z} O{\sblank} O{\@typee} O{\@types}}{\rentry[##3]{\i{##1} = \l{##7}[##9]\l{##6}[##8]\l{##5}[##8]\l{##4}[##8]\ifempty{##2}\n{\j{##4} ##1 \j{##5} \j{##6} in ##7}\else\n{##2}\fi}}
-	%%%% Proper Names
-	\DeclareDocumentCommand{\sldinn}{m O{} O{\sblank} O{\@types} O{}}{\rentry[##2]{\sdi{##1} = \lambh{##3}[##4]##1}[##5]}
-	
-	%% Indirect
-	%%% Translation
-	\DeclareDocumentCommand{\slit}{m m O{} O{}}{\rentry[##3]{\sit{##1} = ##2}[##4]}
-	%%%% General
-	\DeclareDocumentCommand{\slitnn}{m O{} O{}}{\slit{##1}{\obl{\lowercase{\StrMid{##1}{1}{1}}}}[##2][##3]}
-	\DeclareDocumentCommand{\slitnnpeter}{O{} O{}}{\slitnn{Peter}[##1][##2]}
-	\DeclareDocumentCommand{\slitnnmaria}{O{} O{}}{\slitnn{Maria}[##1][##2]}
-	\DeclareDocumentCommand{\slitnnmarta}{O{} O{}}{\slitnn{Marta}[##1][##2]}
-	\DeclareDocumentCommand{\slitnnalina}{O{} O{}}{\slitnn{Alina}[##1][##2]}
-	\DeclareDocumentCommand{\slitnnanna}{O{} O{}}{\slitnn{Anna}[##1][##2]}
-	\DeclareDocumentCommand{\slitnnpaul}{O{} O{}}{\slitnn{Paul}[##1][##2]}
-	\DeclareDocumentCommand{\slitnneike}{O{} O{}}{\slitnn{Eike}[##1][##2]}
-	\DeclareDocumentCommand{\slitnnida}{O{} O{}}{\slitnn{Ida}[##1][##2]}
-	\DeclareDocumentCommand{\slitnnolaf}{O{} O{}}{\slitnn{Olaf}[##1][##2]}
-	\DeclareDocumentCommand{\slitnnmichael}{O{} O{}}{\slitnn{Michael}[##1][##2]}
-	\DeclareDocumentCommand{\slitf}{m O{\bm{i}} O{} O{}}{\slit{##1}{\sic[##2]{\uppercase{\StrMid{##1}{1}{1}}}}[##3][##4]}
-	
-	%%%% Logic
-	\DeclareDocumentCommand{\slitland}{O{} O{}}{\slit{\@fragolivarand}{\jK}[##1][##2]}
-	\DeclareDocumentCommand{\slitlor}{O{} O{q} O{p} O{\@typet} O{\@typet} O{}}{\slit{\@fragolivaror}{\l{##2}[##4]\l{##3}[##5]\jN\R{\jn\ensuremath{##3}\jK\jN\ensuremath{##2}}}[##1][##6]}
-	
-	%%%% Quantifier
-	\DeclareDocumentCommand{\slitlmost}{O{} O{}}{\rentry[##1]{\sit{\@fragolivarmost} = \obl{MOST}}[##2]}
-	\DeclareDocumentCommand{\slitlno}{O{} O{Q} O{P} O{x} O{\@typeet} O{\@typeet} O{\@typee} O{}}{\rentry[##1]{\t{\@fragolivarno} = \L{##2}[##5]\o{(}\L{##3}[##6]\lambheN[##4][##7]\R{\sanD{\v{##2}\a{##4}}{\v{##3}\a{##4}}}\o{)}}[##8]}
-	\DeclareDocumentCommand{\slitlevery}{O{} O{Q} O{P} O{x} O{\@typeet} O{\@typeet} O{\@typee} O{}}{\rentry[##1]{\t{\@fragolivarevery} = \L{##2}[##5]\obl{(}\L{##3}[##6]\lambheN[##4][##7]\R{\sanD{\v{##2}\a{##4}}{\sneg\v{##3}\a{##4}}}\o{)}}[##8]}
-	\DeclareDocumentCommand{\slitloneindef}{O{} O{Q} O{P} O{x}  O{\@typeet} O{\@typeet} O{\@typee} O{}}{\rentry[##1]{\t{\@fragolivaroneindef} = \L{##2}[##5]\o{(}\L{##3}[##6]\lambhE[##4][##7]\R{\sanD{\v{##2}\a{##4}}{\v{##3}\a{##4}}}\o{)}}[##8]}
-	\DeclareDocumentCommand{\slitlonenum} {O{} O{Q} O{P} O{x} O{y} O{\@typeet} O{\@typeet} O{\@typee} O{\@typee}} {\rentry[##1]{ \t{\@fragolivaronenum} = \L{##2}[##6]\obl{(}\L{##3}[##7]\lambhE[##4][##8]\R{\sanD{ \sanD{\v{##2}\a{##4}}{\v{##3}\a{##4}}}{\lambheN[##5][##9]\R{\sanD{\sanD{\sneg\a{##4 = ##5} }{\v{##2}\a{##5}}}{\v{##3}\a{##5}}}}}\obl{)}}}
-	\DeclareDocumentCommand{\slitldefarticle}{O{} O{Q} O{P} O{x} O{y} O{\@typeet} O{\@typeet} O{\@typee} O{\@typee}}{\rentry[##1]{\t{\@fragolivardefarticle} = \L{##2}[##6]\o{(}\L{##3}[##7]\lambhE[##4][##8]\R{\sanD{\v{##2}\a{##4}}{\lambheN[##5][##9]\sanD{\R{\sanD{\sneg\a{##4 = ##5}}{\v{##2}\a{##5}}}}{\v{##3}\a{##4}}}}\o{)}}}
-	%%%% Attitude
-	\DeclareDocumentCommand{\slitAttitudeBuilder}{m m O{p} O{x} O{j} O{i} O{\@typest} O{\@typee} O{\@types}}{\sit{##1} = \lambH{##3}[##7]\obl{(}\lambH{##4}[##8]\lambhA[##5][##9]\R{\simP{\o{##2}\a{##4}\a{##6}\a{##5}}{\c{\obli{##3}}}}\obl{)}}
-	\DeclareDocumentCommand{\slitadox}{O{} O{p} O{x} O{j} O{i} O{\@typest} O{\@typee} O{\@types} O{}}{\rentry[##1]{\slitAttitudeBuilder{\@fragolivarlexattdox}{DOX}[##2][##3][##4][##5][##6][##7][##8]}[##9]}
-	\DeclareDocumentCommand{\slitaepi}{O{} O{p} O{x} O{j} O{i} O{\@typest} O{\@typee} O{\@types} O{}}{\rentry[##1]{\slitAttitudeBuilder{\@fragolivarlexattepi}{EPI}[##2][##3][##4][##5][##6][##7][##8]}[##9]}
-	\DeclareDocumentCommand{\slitabou}{O{} O{p} O{x} O{j} O{i} O{\@typest} O{\@typee} O{\@types} O{}}{\rentry[##1]{\slitAttitudeBuilder{\@fragolivarlexattbou}{BOU}[##2][##3][##4][##5][##6][##7][##8]}[##9]}
-	%%% Denotation
-	%%%% General
-	\DeclareDocumentCommand{\slid}{m m O{} O{} O{}}{\rentry[##3]{\sid[##4]{##1} = ##2}[##5]}
-	%%%% Proper Names
-	\DeclareDocumentCommand{\slidnn}{m O{} O{} O{}}{\slid{\obl{\lowercase{\StrMid{##1}{1}{1}}}}{##1}[##2][##3][##4]}
-	\DeclareDocumentCommand{\slidnnpeter}{O{} O{} O{}}{\slidnn{Peter}[##1][##2][##3]}
-	\DeclareDocumentCommand{\slidnnmaria}{O{} O{} O{}}{\slidnn{Maria}[##1][##2][##3]}
-	\DeclareDocumentCommand{\slidnnmarta}{O{} O{} O{}}{\slidnn{Marta}[##1][##2][##3]}
-	\DeclareDocumentCommand{\slidnnalina}{O{} O{} O{}}{\slidnn{Alina}[##1][##2][##3]}
-	\DeclareDocumentCommand{\slidnnanna}{O{} O{} O{}}{\slidnn{Anna}[##1][##2][##3]}
-	\DeclareDocumentCommand{\slidnnpaul}{O{} O{} O{}}{\slidnn{Paul}[##1][##2][##3]}
-	\DeclareDocumentCommand{\slidnneike}{O{} O{} O{}}{\slidnn{Eike}[##1][##2][##3]}
-	\DeclareDocumentCommand{\slidnnida}{O{} O{} O{}}{\slidnn{Ida}[##1][##2][##3]}
-	\DeclareDocumentCommand{\slidnnolaf}{O{} O{} O{}}{\slidnn{Olaf}[##1][##2][##3]}
-	\DeclareDocumentCommand{\slidnnmichael}{O{} O{} O{}}{\slidnn{Michael}[##1][##2][##3]}
-	%%%% Logic
-	\DeclareDocumentCommand{\slidland}{O{} O{v} O{u} O{} O{\@typet} O{\@typet} O{}}{\slid{\ensuremath{\land}}{\lambh{##2}[##5]\lambh{##3}[##6]\r{\meli{##2} \ensuremath{\cdot} \meli{##3}}}[##1][##4][##7]}
-	\DeclareDocumentCommand{\slidlequal}{O{} O{y} O{x} O{} O{\@typet} O{\@typet} O{}}{\slid{=}{\lambh{##2}[##5]\lambh{##3}[##6]\n{\meli{##2} = \meli{##3}}}[##1][##4][##7]}
-	\DeclareDocumentCommand{\slidlneg}{O{} O{u} O{} O{\@typet} O{}}{\slid{\ensuremath{\neg}}{\lambh{##2}[##4]\r{1 - \meli{##2}}}[##1][##3][##5]}
-	\DeclareDocumentCommand{\slidlexists}{O{} O{P} O{} O{\@typeet} O{}}{\slid{\ensuremath{\exists}}{\lambh{##2}[##4]\n{\ensuremath{\downarrow}\meli{##2} \ensuremath{\neq} \ensuremath{\emptyset}}}[##1][##3][##5]}
-	%%%% Attitude
-	\DeclareDocumentCommand{\slidAttitudeBuilder}{m m O{x} O{\sz} O{\so} O{\@typee} O{\@types} O{\@types} O{}}{\slid{##1}{\lambh{##3}[##6]\lambh{##4}[##7]\lambh{##5}[##8]\n{##5 \@fragolivarlis\ \@fragolivarlarticlegermanswitch\ ##2 alternative\  \@fragolivarlof\ \meli{##3} in ##4}}[##9]}
-	\DeclareDocumentCommand{\slidadox}{O{x} O{\sz} O{\so} O{\@typee} O{\@types} O{\@types} O{}}{\slidAttitudeBuilder{DOX}{\@fragolivarlexattdoxterm}[##1][##2][##3][##4][##5][##6][##7]}
-	\DeclareDocumentCommand{\slidaepi}{O{x} O{\sz} O{\so} O{\@typee} O{\@types} O{\@types} O{}}{\slidAttitudeBuilder{EPI}{\@fragolivarlexattepiterm}[##1][##2][##3][##4][##5][##6][##7]}
-	\DeclareDocumentCommand{\slidabou}{O{x} O{\sz} O{\so} O{\@typee} O{\@types} O{\@types} O{}}{\slidAttitudeBuilder{BOU}{\@fragolivarlexattbouterm}[##1][##2][##3][##4][##5][##6][##7]}
-	
-	
-	\ifempty{#1}\item\textit{\@fragolivarlexicon}:\else\item[#1]\fi
-	\begin{itemize}
+		\end{itemize}
 	}
-	{
-	\end{itemize}
-}
-\newenvironment{semrulesyn}[1][]{
-	\setcounter{@fglscalcitemcounter}{0}
-	\renewcommand{\@rentrylabel}{r}
-	\let\@rentrylabellower\@fglsundefined
+	\newenvironment{semrulesyn}[1][]{
+		\setcounter{@fglscalcitemcounter}{0}
+		\renewcommand{\@rentrylabel}{r}
+		\let\@rentrylabellower\@fglsundefined
 		\newcommand{\@rentrylabellower}{rs}
-	% Rules
-	%% General
-	\DeclareDocumentCommand{\rsrgarrow}{O{} O{\ensuremath{x}} O{\ensuremath{f}} O{}}{\rentry[##1]{\srgarrow[##2][##3]}[##4]}
-	
-	\ifempty{#1}\item\textit{\@fragolivarrulessyn}:\else\item[#1]\fi
-	\begin{itemize}
+		% Rules
+		%% General
+		\DeclareDocumentCommand{\rsrgarrow}{O{} O{\ensuremath{x}} O{\ensuremath{f}} O{}}{\rentry[##1]{\srgarrow[##2][##3]}[##4]}
+		
+		\ifempty{#1}\item\textit{\@fragolivarrulessyn}:\else\item[#1]\fi
+		\begin{itemize}
+		}
+		{
+		\end{itemize}
 	}
-	{
-	\end{itemize}
-}
-\DeclareDocumentEnvironment{semrule}{O{} O{\@srdesituation}}{
-	\setcounter{@fglscalcitemcounter}{0}
-	\let\@rentrylabellower\@fglsundefined
-	\newcommand{\@rentrylabellower}{r}
-	
-
-	% Rules
-	%% General
-	\DeclareDocumentCommand{\rsrgarrow}{O{} O{\ensuremath{x}} O{\ensuremath{f}} O{}}{\rentry[##1]{\srgarrow[##2][##3]}[##4]}
-	
-	%% Direkt
-	\DeclareDocumentCommand{\rsrde}{m m O{} O{#2} O{}}{\rentry[##3]{\e[##4]{##1}= ##2}[##5]}
-	\DeclareDocumentCommand{\rsrdi}{m m O{} O{}}{\rentry[##3]{\sdi{##1}\ = ##2}[##4]}
-	
-	%%% Common Zimmerman
-	\DeclareDocumentCommand{\rsrdesbjpred}{O{} O{#2} O{\text{\ensuremath{S}}} O{\text{\ensuremath{NN}}} O{\text{\ensuremath{P}}} O{}}{\rentry[##1]{\srdesbjpred[##2][##3][##4][##5]}[##6]}
-	\DeclareDocumentCommand{\rsrdesbjquant}{O{} O{#2} O{\text{\ensuremath{S}}} O{\text{\ensuremath{P}}} O{\text{\ensuremath{QN}}} O{}}{\rsrdesbjpred[##1][##2][##3][##4][##5][##6]}
-	\DeclareDocumentCommand{\rsrdeobjpred}{O{} O{#2} O{\text{\ensuremath{P}}} O{\text{\ensuremath{NN}}} O{\text{\ensuremath{V}}} O{}}{\rsrdesbjpred[##1][##2][##3][##4][##5][##6]}
-	\DeclareDocumentCommand{\rsrdeobjquant}{O{} O{x} O{y} O{#2} O{\text{\ensuremath{P}}} O{\text{\ensuremath{V}}} O{\text{\ensuremath{QN}}} O{\@typee} O{}}{\rentry[##1]{\srdeobjquant[##2][##3][##4][##5][##6][##7][##8][##8]}[##9]}
-	\DeclareDocumentCommand{\rsrdequant}{O{} O{#2} O{\text{\ensuremath{QN}}} O{\text{\ensuremath{N}}} O{\text{\ensuremath{D}}} O{}}{\rsrdesbjpred[##1][##2][##3][##4][##5][##6]}
-	
-	%%% Logic
-	\DeclareDocumentCommand{\rsrdecoordination}{O{} O{#1} O{}}{\rsrde{\v{S K \^{S}}}{\e[##2]{\v{K}}\a{\e[##2]{\^{S}}}\a{\e[##2]{S}}}[##1][##2][##3]}
-	\DeclareDocumentCommand{\rsrdiconva}{O{} O{s} O{\@types} O{}}{\rsrdi{\v{A}}{\lambh{##2}[##3]\e[##2]{\v{A}}}[##1][##4]}
-	\DeclareDocumentCommand{\rsrdiconvb}{O{} O{s} O{\@types} O{}}{\rentry[##1]{\sdi{\v{A}}\obl{(}\textit{##2}\obl{)} = \e[\meli{##2}]{\v{A}}}[##4]}
-	\DeclareDocumentCommand{\rsrdeattitude}{O{} O{\sstar} O{}}{\rsrde{\v{P}}{\e[##2]{\v{V}}\a{\sdi{S}}}[##1][##2][##3]}
-	
-	%%% Quantorenanhebung
-	\DeclareDocumentCommand{\rsrdeqrsemvar}{O{} O{\phi} O{\ensuremath{x}} O{#2} O{\textit{g}} O{}}{\rentry[##1]{\srdeqrsemvar[##2][##3][##4][##5]}[##6]}
-	\DeclareDocumentCommand{\rsrdeqrabs}{O{} O{\phi} O{\textit{x}} O{#2} O{\textit{g}} O{\textit{f}} O{\ensuremath{\delta}} O{}}{\rentry[##1]{\srdeqrabs[##2][##3][##4][##5][##6][##7]}[##8]}
-	\DeclareDocumentCommand{\rsrdeqrlex}{O{} O{\ensuremath{\alpha}} O{\ensuremath{\beta}} O{#2} O{\text{\textit{g}}} O{} }{\rentry[##1]{\srdeqrlex[##2][##3][##4][##5]}[##6]}
-	\DeclareDocumentCommand{\rsrdeqrfa}{O{} O{\ensuremath{\alpha}} O{\ensuremath{\beta}} O{\ensuremath{\gamma}} O{#2} O{\text{\textit{g}}} O{}}{\rentry[##1]{\srdeqrfa[##2][##3][##4][##5][##6]}[##7]}
-	\DeclareDocumentCommand{\rsrdeqrtree}{O{} O{x} O{\ensuremath{\psi}} O{\ensuremath{\phi}} O{\ensuremath{\delta}} O{#2} O{\text{\textit{g}}} O{\@typee} O{}}{\rentry[##1]{\srdeqrtree[##2][##3][##4][##5][##6][##7][##8]}[##9]}
-	
-	
-	%% Indirekt 
-	%%% Translation
-	\DeclareDocumentCommand{\rsrit}{m m O{} O{}}{\rentry[##3]{\t{##1} = ##2}[##4]}
-	\DeclareDocumentCommand{\rsriti}{m m O{} O{}}{\rentry[##3]{\ti{##1} = ##2}[##4]}
-	\DeclareDocumentCommand{\rsritibasic}{m m m O{} O{}}{\rentry[##4]{\ti{##1} = \ti{##2}(\ti{##3})}[##5]}
-	\DeclareDocumentCommand{\rsritcoordination}{O{} O{}}{\rsriti{S K \^{S}}{\ti{K}(\ti{\^{S}})(\ti{S})}[##1][##2]}
-	\DeclareDocumentCommand{\rsritpredication}{O{} O{}}{\rsritibasic{S}{P}{NN}[##1][##2]}
-	\DeclareDocumentCommand{\rsritnamedirectobject}{O{} O{}}{\rsritibasic{P}{V}{NN}[##1][##2]}
-	\DeclareDocumentCommand{\rsritquantification}{O{} O{}}{\rsritibasic{S}{Q}{P}[##1][##2]}
-	\DeclareDocumentCommand{\rsritquantificational}{O{} O{}}{\rsritibasic{Q}{D}{N}[##1][##2]}
-	\DeclareDocumentCommand{\rsritquantificationasobj}{O{} O{x} O{y} O{\@typeet} O{\@typeet} O{}}{\rsriti{P}{\L{##2}[##4]\ti{Q}\o{(}\L{##3}[##5]\ti{V}\a{\v{##3}}\a{\v{##2}}\o{)}}[##1][##6]}
-	\DeclareDocumentCommand{\rsritattitude}{O{} O{i} O{\@types} O{}}{\rsriti{P}{\ti{V}\o{(}\L{##2}[##3]\ti{S}\o{)}}[##1][##4]}
-	\DeclareDocumentCommand{\rsritraisedsubj}{O{} O{i} O{\@types} O{}}{\rsriti{S}{\ti{VP}(\L{##2}[##3]\ti{Q})}[##1][##4]}
-	\DeclareDocumentCommand{\rsritcontrolverbs}{O{} O{x} O{i} O{\@typee} O{\@types} O{}}{\rsriti{VP}{\L{##2}[##4]\ti{V}\o{(}\L{##3}[##5]\ti{P}\a{\v{##2}}\o{)}\a{\v{##2}}}[##1][##6]}
-	
-	%%% Denotation
-	\DeclareDocumentCommand{\rsrid}{m m O{} O{g} O{}}{\rentry[##3]{\sid[##4]{##1} = ##2}[##5]}
-	\DeclareDocumentCommand{\rsridinterpretvar}{O{} O{g} O{x} O{}}{\rsrid{\v{##3}}{\j{##2}\a{##3}}[##1][##2][##4]}
-	\DeclareDocumentCommand{\rsridapp}{O{} O{g} O{\ensuremath{\bm{\alpha}}} O{\ensuremath{\bm{\beta}}} O{}}{\rsrid{##3\a{##4}}{\d[##2]{##3}\a{\d[##2]{##4}}}[##1][##2][##5]}
-	\DeclareDocumentCommand{\rsridabs}{O{} O{g} O{\ensuremath{\bm{\alpha}}} O{x} O{u} O{}}{\rsrid{\L{##4}##3}{\l{##5}\sidR{##3}{##5}[##4]}[##1][##2][##6]}
-	
-	\ifempty{#1}\item\textit{\@fragolivarrules}:\else\item[#1]\fi
-	\begin{itemize}
+	\DeclareDocumentEnvironment{semrule}{O{} O{\@srdesituation}}{
+		\setcounter{@fglscalcitemcounter}{0}
+		\let\@rentrylabellower\@fglsundefined
+		\newcommand{\@rentrylabellower}{r}
+		
+		
+		% Rules
+		%% General
+		\DeclareDocumentCommand{\rsrgarrow}{O{} O{\ensuremath{x}} O{\ensuremath{f}} O{}}{\rentry[##1]{\srgarrow[##2][##3]}[##4]}
+		
+		%% Direkt
+		\DeclareDocumentCommand{\rsrde}{m m O{} O{#2} O{}}{\rentry[##3]{\e[##4]{##1}= ##2}[##5]}
+		\DeclareDocumentCommand{\rsrdi}{m m O{} O{}}{\rentry[##3]{\sdi{##1}\ = ##2}[##4]}
+		
+		%%% Common Zimmerman
+		\DeclareDocumentCommand{\rsrdesbjpred}{O{} O{#2} O{\text{\ensuremath{S}}} O{\text{\ensuremath{NN}}} O{\text{\ensuremath{P}}} O{}}{\rentry[##1]{\srdesbjpred[##2][##3][##4][##5]}[##6]}
+		\DeclareDocumentCommand{\rsrdesbjquant}{O{} O{#2} O{\text{\ensuremath{S}}} O{\text{\ensuremath{P}}} O{\text{\ensuremath{QN}}} O{}}{\rsrdesbjpred[##1][##2][##3][##4][##5][##6]}
+		\DeclareDocumentCommand{\rsrdeobjpred}{O{} O{#2} O{\text{\ensuremath{P}}} O{\text{\ensuremath{NN}}} O{\text{\ensuremath{V}}} O{}}{\rsrdesbjpred[##1][##2][##3][##4][##5][##6]}
+		\DeclareDocumentCommand{\rsrdeobjquant}{O{} O{x} O{y} O{#2} O{\text{\ensuremath{P}}} O{\text{\ensuremath{V}}} O{\text{\ensuremath{QN}}} O{\@typee} O{}}{\rentry[##1]{\srdeobjquant[##2][##3][##4][##5][##6][##7][##8][##8]}[##9]}
+		\DeclareDocumentCommand{\rsrdequant}{O{} O{#2} O{\text{\ensuremath{QN}}} O{\text{\ensuremath{N}}} O{\text{\ensuremath{D}}} O{}}{\rsrdesbjpred[##1][##2][##3][##4][##5][##6]}
+		
+		%%% Logic
+		\DeclareDocumentCommand{\rsrdecoordination}{O{} O{#1} O{}}{\rsrde{\v{S K \^{S}}}{\e[##2]{\v{K}}\a{\e[##2]{\^{S}}}\a{\e[##2]{S}}}[##1][##2][##3]}
+		\DeclareDocumentCommand{\rsrdiconva}{O{} O{s} O{\@types} O{}}{\rsrdi{\v{A}}{\lambh{##2}[##3]\e[##2]{\v{A}}}[##1][##4]}
+		\DeclareDocumentCommand{\rsrdiconvb}{O{} O{s} O{\@types} O{}}{\rentry[##1]{\sdi{\v{A}}\obl{(}\textit{##2}\obl{)} = \e[\meli{##2}]{\v{A}}}[##4]}
+		\DeclareDocumentCommand{\rsrdeattitude}{O{} O{\sstar} O{}}{\rsrde{\v{P}}{\e[##2]{\v{V}}\a{\sdi{S}}}[##1][##2][##3]}
+		
+		%%% Quantorenanhebung
+		\DeclareDocumentCommand{\rsrdeqrsemvar}{O{} O{\phi} O{\ensuremath{x}} O{#2} O{\textit{g}} O{}}{\rentry[##1]{\srdeqrsemvar[##2][##3][##4][##5]}[##6]}
+		\DeclareDocumentCommand{\rsrdeqrabs}{O{} O{\phi} O{\textit{x}} O{#2} O{\textit{g}} O{\textit{f}} O{\ensuremath{\delta}} O{}}{\rentry[##1]{\srdeqrabs[##2][##3][##4][##5][##6][##7]}[##8]}
+		\DeclareDocumentCommand{\rsrdeqrlex}{O{} O{\ensuremath{\alpha}} O{\ensuremath{\beta}} O{#2} O{\text{\textit{g}}} O{} }{\rentry[##1]{\srdeqrlex[##2][##3][##4][##5]}[##6]}
+		\DeclareDocumentCommand{\rsrdeqrfa}{O{} O{\ensuremath{\alpha}} O{\ensuremath{\beta}} O{\ensuremath{\gamma}} O{#2} O{\text{\textit{g}}} O{}}{\rentry[##1]{\srdeqrfa[##2][##3][##4][##5][##6]}[##7]}
+		\DeclareDocumentCommand{\rsrdeqrtree}{O{} O{x} O{\ensuremath{\psi}} O{\ensuremath{\phi}} O{\ensuremath{\delta}} O{#2} O{\text{\textit{g}}} O{\@typee} O{}}{\rentry[##1]{\srdeqrtree[##2][##3][##4][##5][##6][##7][##8]}[##9]}
+		
+		
+		%% Indirekt 
+		%%% Translation
+		\DeclareDocumentCommand{\rsrit}{m m O{} O{}}{\rentry[##3]{\t{##1} = ##2}[##4]}
+		\DeclareDocumentCommand{\rsriti}{m m O{} O{}}{\rentry[##3]{\ti{##1} = ##2}[##4]}
+		\DeclareDocumentCommand{\rsritibasic}{m m m O{} O{}}{\rentry[##4]{\ti{##1} = \ti{##2}(\ti{##3})}[##5]}
+		\DeclareDocumentCommand{\rsritcoordination}{O{} O{}}{\rsriti{S K \^{S}}{\ti{K}(\ti{\^{S}})(\ti{S})}[##1][##2]}
+		\DeclareDocumentCommand{\rsritpredication}{O{} O{}}{\rsritibasic{S}{P}{NN}[##1][##2]}
+		\DeclareDocumentCommand{\rsritnamedirectobject}{O{} O{}}{\rsritibasic{P}{V}{NN}[##1][##2]}
+		\DeclareDocumentCommand{\rsritquantification}{O{} O{}}{\rsritibasic{S}{Q}{P}[##1][##2]}
+		\DeclareDocumentCommand{\rsritquantificational}{O{} O{}}{\rsritibasic{Q}{D}{N}[##1][##2]}
+		\DeclareDocumentCommand{\rsritquantificationasobj}{O{} O{x} O{y} O{\@typeet} O{\@typeet} O{}}{\rsriti{P}{\L{##2}[##4]\ti{Q}\o{(}\L{##3}[##5]\ti{V}\a{\v{##3}}\a{\v{##2}}\o{)}}[##1][##6]}
+		\DeclareDocumentCommand{\rsritattitude}{O{} O{i} O{\@types} O{}}{\rsriti{P}{\ti{V}\o{(}\L{##2}[##3]\ti{S}\o{)}}[##1][##4]}
+		\DeclareDocumentCommand{\rsritraisedsubj}{O{} O{i} O{\@types} O{}}{\rsriti{S}{\ti{VP}(\L{##2}[##3]\ti{Q})}[##1][##4]}
+		\DeclareDocumentCommand{\rsritcontrolverbs}{O{} O{x} O{i} O{\@typee} O{\@types} O{}}{\rsriti{VP}{\L{##2}[##4]\ti{V}\o{(}\L{##3}[##5]\ti{P}\a{\v{##2}}\o{)}\a{\v{##2}}}[##1][##6]}
+		
+		%%% Denotation
+		\DeclareDocumentCommand{\rsrid}{m m O{} O{g} O{}}{\rentry[##3]{\sid[##4]{##1} = ##2}[##5]}
+		\DeclareDocumentCommand{\rsridinterpretvar}{O{} O{g} O{x} O{}}{\rsrid{\v{##3}}{\j{##2}\a{##3}}[##1][##2][##4]}
+		\DeclareDocumentCommand{\rsridapp}{O{} O{g} O{\ensuremath{\bm{\alpha}}} O{\ensuremath{\bm{\beta}}} O{}}{\rsrid{##3\a{##4}}{\d[##2]{##3}\a{\d[##2]{##4}}}[##1][##2][##5]}
+		\DeclareDocumentCommand{\rsridabs}{O{} O{g} O{\ensuremath{\bm{\alpha}}} O{x} O{u} O{}}{\rsrid{\L{##4}##3}{\l{##5}\sidR{##3}{##5}[##4]}[##1][##2][##6]}
+		
+		\ifempty{#1}\item\textit{\@fragolivarrules}:\else\item[#1]\fi
+		\begin{itemize}
+		}
+		{
+		\end{itemize}
 	}
-	{
-	\end{itemize}
-}
-\endinput
-% End of file `fragoli.sty'.
\ No newline at end of file
+	\endinput
+	% End of file `fragoli.sty'.
\ No newline at end of file



More information about the tex-live-commits mailing list.