\subsection{Deductive systems}\label{subsec:deductive_systems}

Without a clear context, by \enquote{logical formula} we will mean a \hyperref[def:formal_language/word]{word} over some \hyperref[def:formal_language/alphabet]{alphabet}. In practice, these will be either \hyperref[def:propositional_syntax/formula]{propositional formulas} or \hyperref[def:first_order_syntax/formula]{first-order formulas}.

It is challenging to formally define a deductive system in a way that reflects reality. We will do this via some auxiliary definitions that rely heavily on the interaction between the object logic and the \hyperref[rem:metalogic]{metalogic}.

\begin{definition}\label{def:judgment}\mimprovised
  A \term{judgment} is a logical formula of the metalogic, which is usually used for assertion. Using judgments allows us to quantify over metalogical properties. We will be interested in the following kinds of judgments:

  \begin{thmenum}
    \thmitem{def:judgment/sequent} A \term{sequent} is a judgment with at least two free variables. We denote a sequent \( \vdash \) with free variables \( \Gamma \) and \( \Delta \) by
    \begin{equation*}
      \Gamma \vdash \Delta.
    \end{equation*}

    The intended interpretation for both \( \Gamma \) and \( \Delta \) is that of sets of formulas in the object logic, in which case a sequent expresses the metalogical statement that \enquote{the formulas in \( \Gamma \) collectively entail via \( \vdash \) the any formula in \( \Delta \)}.

    We could have defined a sequent as a predicate, however we may not have appropriate predicate symbols on the metalanguage. This issue is discussed in \fullref{rem:predicate_formula}.

    \thmitem{def:judgment/inference_rule} An \term{inference rule} is a judgment with at least one free variable. We denote an inference rule \( R \) with free variables \( \psi \) and \( \varphi_1, \ldots, \varphi_n \) by
    \begin{equation*}
      \begin{prooftree}
        \hypo{ \varphi_1 }
        \hypo{ \cdots }
        \hypo{ \varphi_n }
        \infer3[R]{ \psi }
      \end{prooftree}
    \end{equation*}

    We allow the possibility that \( n = 0 \), in which case the rule becomes
    \begin{equation*}
      \begin{prooftree}
        \infer0[R]{ \psi }
      \end{prooftree}
    \end{equation*}

    The intended interpretation for the listed variables is that of formulas in the object logic, in which case an inference rule expresses the metalogical statement that \enquote{the premises \( \varphi_1, \ldots, \varphi_n \) collectively entail the consequence \( \psi \), as justified by the rule \( R \)}. When building complicated proofs, however, the applicability of the rule may depend on some context, and for this reason \( \varphi_1, \ldots, \varphi_n \) are often interpreted as \hyperref[def:proof_tree]{proof trees} rather than single formulas. See \fullref{def:first_order_natural_deduction_system/eigenvariables} for such an example.
  \end{thmenum}
\end{definition}

\begin{remark}\label{rem:sequents_inference_rules}
  Inference rules are both special cases and generalizations of sequents, depending on how we view them. Using an interpretation where \( \Gamma = \varphi_1, \ldots, \varphi_n \) and \( \Delta = \psi \), inference rules simply allow an alternative syntax for sequents.

  It is sometimes convenient, however, to interpret the formulas \( \varphi_1, \ldots, \varphi_n \) as sequents in some auxiliary logic between the object and metalogic, in which case we are able to express more complicated inference rules of the sort
  \begin{equation*}
    \begin{prooftree}
      \hypo{ \varphi, \Gamma \vdash \Delta, \psi }
      \infer1{ \Gamma \vdash \Delta, \varphi \to \psi }
    \end{prooftree}
  \end{equation*}

  This can be very useful when inductively defining the metalogical relation \( \vdash \).
\end{remark}

\begin{definition}\label{def:proof_tree}\mimprovised
  A \term{proof tree} is a \hyperref[def:arborescence/undirected]{rooted tree} of logical formulas. The validity of a proof tree is handled by \hyperref[def:deductive_system]{deductive system} and is irrelevant for this definition.

  \begin{thmenum}
    \thmitem{def:proof_tree/subproof} A \term{subproof} is simply a subtree of a proof. If a subproof was obtained using an \hyperref[def:judgment/inference_rule]{inference rule}, the subproof \hyperref[def:weighted_set]{labeled} with the name of the rule by the deductive systems.

    \thmitem{def:proof_tree/premises} The root of the tree is called the \term{conclusion} of the proof and the \hyperref[def:arborescence/ancestry]{leaves} are called \term{premises} or, in the context of \hyperref[def:natural_deduction_system]{natural deduction}, \term{assumptions}. We sometimes add a \term{non-premise} label to a leaf that prevents it from being added to the list of premises.

    \thmitem{def:proof_tree/drawing} We will draw graphically proof trees with no edges and with the root at the bottom in a style inspired by inference rules. See \fullref{ex:def:positive_implicational_deductive_system/identity} for an example.
  \end{thmenum}
\end{definition}

\begin{definition}\label{def:deductive_system}\mimprovised
  A \term{deductive system} for a set \( \mscrF \) of formulas in the object logic is a metalogical collection of \hyperref[def:judgment/inference_rule]{inference rules}, which are used to generate \hyperref[def:proof_tree]{proof trees} in the object logic.

  We will not attempt to encode inference rules themselves into the object theory and instead regard a deductive system as a pair \( (\mscrF, \mscrP) \), where \( \mscrF \) is a set of logical formulas and \( \mscrP \) is a set of proofs over \( \mscrF \).

  We define the set \( \mscrP \) of proofs via \hyperref[thm:structural_recursion]{structural recursion}.
  \begin{thmenum}
    \thmitem{def:deductive_system/base} For every formula \( \varphi \) in \( \mscrF \), the tree with root \( \varphi \) and no children is a proof \( \mscrP \).

    \thmitem{def:deductive_system/rule} Let \( \varphi_1, \ldots, \varphi_n \) and \( \psi \) be formulas in \( \mscrF \) and \( P_1, \ldots, P_n \) be proofs of \( \varphi_1, \ldots, \varphi_n \).

    Suppose that the deductive system has an inference rule
    \begin{equation*}
      \begin{prooftree}
        \hypo{ \Phi_1 }
        \hypo{ \cdots }
        \hypo{ \Phi_n }
        \infer3[R]{ \Psi }
      \end{prooftree}
    \end{equation*}
    such that
    \begin{equation*}
      R\Bracks{ \Phi_1 \mapsto P_1, \ldots, \Phi_n \mapsto P_n, \Psi \mapsto \psi } = T
    \end{equation*}
    in the metalogic of the metalogic.

    Then the tree with root \( \psi \), subtrees \( P_1, \ldots, P_n \) of the root, and label \( R \), is a proof in \( \mscrP \). In the case of rules with no premises like \eqref{eq:def:minimal_propositional_natural_deduction_system/top/intro}, we add a \hyperref[def:proof_tree/premises]{non-premise label} to the proof in order to exclude \( \psi \) from the list of premises of the proof.

    We say that the resulting proof
    \begin{equation*}
      \begin{prooftree}
        \hypo{ P_1 }
        \hypo{ \cdots }
        \hypo{ P_n }
        \infer3[r]{ \psi }
      \end{prooftree}
    \end{equation*}
    is an \term{application} of the rule \( R \).
  \end{thmenum}
\end{definition}

\begin{definition}\label{def:proof_derivability}
  We are often interested not in the proofs of a \hyperref[def:deductive_system]{deductive system}, but in \term{provability}, which we express via \hyperref[def:judgment/sequent]{sequents}.

  Fix a deductive system \( (\mscrF, \mscrP) \). If \( \mscrP \) contains a proof of \( \varphi \), whose premises are all members of \( \Gamma \), the following sequent is valid:
  \begin{equation*}
    \Gamma \vdash \varphi.
  \end{equation*}

  We say that \( \varphi \) is a \term{theorem} of \( \Gamma \). If \( \Gamma \) is empty, we say that \( \varphi \) is a \term{logical theorem}.

  Furthermore, \( \vdash \) is a reflexive and transitive relation, which makes \( (\pow(\mscrF), \vdash) \) a \hyperref[def:preordered_set]{preordered set}.
\end{definition}

\begin{definition}\label{def:axiomatic_deductive_system}\mimprovised
  \term{Axiomatic deductive systems}, also called \term{Hilbert-style systems}, are \hyperref[def:deductive_system]{deductive systems} for propositional formulas consist of the single \hyperref[def:judgment/inference_rule]{inference rule} \term[en=mode that by affirming affirms]{modus ponens}:
  \begin{equation*}\taglabel[\textrm{MP}]{eq:def:def:axiomatic_deductive_system/mp}
    \begin{prooftree}
      \hypo{ \varphi }
      \hypo{ \varphi \rightarrow \psi }
      \infer2[\ref{eq:def:def:axiomatic_deductive_system/mp}]{ \psi }
    \end{prooftree}
  \end{equation*}

  Fix a set \( \mscrF \) of logical formulas. Let \( \mscrA \subseteq \mscrF \) be a predefined subset of formulas, which we will call \term{logical axioms} of \( \mscrF \). The axiomatic deductive system itself is the pair \( (\mscrF, \mscrA) \).

  Given a proof of the deductive system, we split its premises into \term{logical axioms} and \term{non-logical axioms} depending on whether they belong to \( \mscrA \) or not.

  Note that we cannot have a complete axiomatic deductive system for first-order logic because of the eigenvariable condition in the rules \eqref{eq:def:first_order_natural_deduction_system/forall/intro} and \eqref{eq:def:first_order_natural_deduction_system/exists/elim}.
\end{definition}

\begin{proposition}\label{thm:deductive_system_transitivity}
  Given a deductive system, if \( \Gamma \vdash \varphi \), then \( \Gamma, \Delta \vdash \varphi \) for any formula \( \varphi \) and any sets \( \Gamma \) and \( \Delta \).

  If every formula in \( \Delta \) is derivable from \( \Gamma \), then the converse also holds: \( \Gamma, \Delta \vdash \varphi \) implies \( \Gamma \vdash \varphi \).
\end{proposition}
\begin{proof}
  If there exists a proof \( \varphi \) from \( \Gamma \), then adding additional axioms does not change anything.

  The second part of the theorem has a tad more complicated proof. Assume that every formula in \( \Delta \) is derivable from \( \Gamma \) and that \( \Gamma, \Delta \vdash \varphi \).

  For every \( \delta \in \Delta \), let \( P_\delta \) be a proof of \( \delta \) from members of \( \Gamma \) and let \( P_\varphi \) be a proof of \( \varphi \) from \( \Gamma \cup \Delta \).

  Then, for every \( \delta \in \Delta \), we can replace the subtree of \( \delta \) with \( P_\delta \) to obtain a proof of \( \varphi \) from \( \Gamma \).

  Therefore, \( \Gamma \vdash \varphi \).
\end{proof}

\begin{definition}\mcite[sec. 1]{Wasilewska2010}\label{def:positive_implicational_deductive_system}
  The \term{positive implicational propositional deductive system} is an extraordinarily simple \hyperref[def:axiomatic_deductive_system]{axiomatic deductive system}.

  It is based on the \hyperref[def:propositional_language]{language of propositional logic}, but limited to formulas containing only the \hyperref[def:propositional_language/connectives/conditional]{conditional connective} \( \rightarrow \), without any \hyperref[def:propositional_language/constants]{propositional constants} or \hyperref[def:propositional_language/negation]{negation}. Note that this is only a special case of \hyperref[def:positive_formula]{positive formulas}.

  The adjective \enquote{positive} in the name of the system refers to the impossibility to negate a formula. \enquote{Implicational} refers to the fact that all formulas are \hyperref[def:material_implication]{material implications} and the \hyperref[eq:def:def:axiomatic_deductive_system/mp]{sole inference rule} is based on eliminating the connective.

  The system has the following logical axiom schemas:
  \begin{thmenum}
    \thmitem{def:positive_implicational_deductive_system/intro} For every formula \( \varphi \), we can \enquote{introduce} an \hyperref[def:material_implication]{implication} whose consequent is \( \varphi \) and whose antecedent is any other formula \( \psi \):
    \begin{equation}\label{eq:def:positive_implicational_deductive_system/intro}
      \varphi \rightarrow (\psi \rightarrow \varphi) \tag{\textrm{AX} \( \rightarrow^+ \)}.
    \end{equation}

    \thmitem{def:positive_implicational_deductive_system/trans} Implication is transitive:
    \begin{equation}\label{eq:def:positive_implicational_deductive_system/trans}
      \parens[\Big]{ \varphi \rightarrow (\psi \rightarrow \theta) } \rightarrow \parens[\Big]{ (\varphi \rightarrow \psi) \rightarrow (\varphi \rightarrow \theta)} \tag{\textrm{AX} \( \twoheadrightarrow \)}.
    \end{equation}
  \end{thmenum}
\end{definition}

\begin{example}\mcite[ex. 1.1]{Wasilewska2010}\label{ex:def:positive_implicational_deductive_system/identity}
  Fix any \hyperref[def:positive_implicational_deductive_system]{positive implicational formula} \( \varphi \). We will construct a derivation of the implication
  \begin{equation}\label{eq:ex:def:positive_implicational_deductive_system/identity}
    \varphi \rightarrow \varphi.
  \end{equation}

  We derive the proof from the two logical axioms:
  \begin{equation}\label{eq:ex:def:positive_implicational_deductive_system/identity/proof}
    \begin{prooftree}[separation=3em]
      \hypo
        {
          \eqref{eq:def:positive_implicational_deductive_system/intro}
        }

      \ellipsis
        {
          \( \begin{array}{l}
            \psi \mapsto (\varphi \rightarrow \varphi)
            \\
            \mbox{}
          \end{array} \)
        }
        {
          \eqref{eq:ex:propositional_positive_implicational_logic/dagger}
        }

      \hypo
        {
          \eqref{eq:def:positive_implicational_deductive_system/trans}
        }

      \ellipsis
        {
          \( \begin{array}{l}
            \psi \mapsto (\varphi \rightarrow \varphi)
            \\
            \theta \mapsto \varphi
          \end{array} \)
        }
        {
          \eqref{eq:ex:propositional_positive_implicational_logic/dagger}
          \rightarrow ((\varphi \rightarrow (\varphi \rightarrow \varphi)) \rightarrow (\varphi \rightarrow \varphi))
        }

      \infer2[\ref{eq:def:def:axiomatic_deductive_system/mp}]{(\varphi \rightarrow (\varphi \rightarrow \varphi)) \rightarrow (\varphi \rightarrow \varphi)}

      \hypo
        {
          \eqref{eq:def:positive_implicational_deductive_system/intro}
        }

      \ellipsis
        {
          \( \psi \mapsto \varphi \)
        }
        {
          \varphi \rightarrow (\varphi \rightarrow \varphi)
        }

      \infer2[\ref{eq:def:def:axiomatic_deductive_system/mp}]{\varphi \rightarrow \varphi}
    \end{prooftree}
  \end{equation}
  where
  \begin{equation}\label{eq:ex:propositional_positive_implicational_logic/dagger}
    \varphi \rightarrow ((\varphi \rightarrow \varphi) \rightarrow \varphi).
  \end{equation}

  The only assumptions used in the derivation were logical axioms, hence \eqref{eq:ex:def:positive_implicational_deductive_system/identity} is a logical theorem.
\end{example}

\begin{definition}\label{def:derivability_and_satisfiability}
  We introduce two notions connecting \hyperref[def:proof_derivability]{derivability} and \hyperref[def:first_order_semantics/satisfiability]{satisfiability}:
  \begin{thmenum}
    \thmitem{def:derivability_and_satisfiability/soundness} If, for any closed formula \( \varphi \), derivability \( \vdash \varphi \) implies satisfiability \( \vDash \varphi \), we say that the deductive system is \term{sound} with respect to the semantical framework.

    \thmitem{def:derivability_and_satisfiability/completeness} Dually, if satisfiability \( \vDash \varphi \) implies derivability \( \vdash \varphi \) for any closed formula \( \varphi \), we say that the deductive system is \term{complete} with respect to the semantical framework.
  \end{thmenum}

  We restrict our attention to closed formulas because we wish to avoid the problems described in \fullref{rem:deduction_with_free_variables}. If we have a formula with free variables, we may simply take its \hyperref[thm:implicit_universal_quantification]{universal closure}.
\end{definition}

\begin{proposition}\label{thm:soundness_of_positive_implicational_propositional_natural_deduction_system}\mcite[thm. 1.1]{Wasilewska2010}
  The \hyperref[def:positive_implicational_deductive_system]{positive implicational propositional deductive system} is \hyperref[def:derivability_and_satisfiability/soundness]{sound} with respect to \hyperref[def:propositional_semantics]{classical semantics}.
\end{proposition}

\begin{theorem}[Syntactic deduction theorem]\label{thm:syntactic_deduction_theorem}
  In the \hyperref[def:positive_implicational_deductive_system]{positive implicational deductive system}, \( \Gamma, \psi \vdash \varphi \) holds if and only if \( \Gamma \vdash \psi \rightarrow \varphi \) holds.

  This theorem also holds for propositional deductive systems which extend the positive implication system with compatible rules, as in the case of \fullref{def:minimal_propositional_natural_deduction_system} or \fullref{def:first_order_natural_deduction_system}.
\end{theorem}
\begin{proof}
  \SufficiencySubProof Suppose that \( \Gamma, \psi \vdash \varphi \) and let \( P \) be a proof of \( \varphi \) from \( \Gamma \cup \set{ \psi } \). We will use \fullref{thm:structural_induction_on_unambiguous_grammars} on \( \varphi \).

  \begin{itemize}
    \item First suppose that \( \varphi \) is either a logical or a nonlogical axiom; in the latter case either \( \varphi \in \Gamma \) or \( \varphi = \psi \). In all three cases, the logical axiom \eqref{eq:def:positive_implicational_deductive_system/intro} allows us to derive \( \psi \rightarrow \varphi \) from \( \Gamma \) using \eqref{eq:def:def:axiomatic_deductive_system/mp}.

    \item Otherwise, since the only rule is \eqref{eq:def:def:axiomatic_deductive_system/mp}, there exists some formula \( \theta \) derivable from \( \Gamma \cup \set{ \psi } \) such that \( P \) contains the formulas \( \theta \) and for \( \theta \rightarrow \varphi \). The inductive hypothesis holds for both, and hence \( \Gamma \vdash \psi \to \theta \) and \( \Gamma \vdash \psi \to (\theta \rightarrow \varphi) \). Let \( P_1 \) and \( P_2 \) be proofs corresponding to these two sequents.

    We can now build the following proof of \( \psi \to \varphi \) from \( \Gamma \):
    \begin{equation*}
      \begin{prooftree}
        \hypo{ P_2 }

        \hypo{ \eqref{eq:def:positive_implicational_deductive_system/trans} }
        \ellipsis
          {}
          {
            \parens[\Big]{ \psi \rightarrow (\theta \rightarrow \varphi) } \rightarrow \parens[\Big]{ (\psi \rightarrow \theta) \rightarrow (\psi \rightarrow \varphi)}
          }

        \infer2[\ref{eq:def:def:axiomatic_deductive_system/mp}]{ (\psi \rightarrow \theta) \rightarrow (\psi \rightarrow \varphi) }

        \hypo{ P_1 }
        \infer2[\ref{eq:def:def:axiomatic_deductive_system/mp}]{ \psi \rightarrow \varphi }
      \end{prooftree}
    \end{equation*}
  \end{itemize}

  \NecessitySubProof Now suppose that \( \Gamma \vdash \psi \rightarrow \varphi \). Then we can apply \eqref{eq:def:def:axiomatic_deductive_system/mp} to obtain \( \varphi \) from \( \Gamma \cup \set{ \psi } \).
\end{proof}

\begin{definition}\label{def:minimal_propositional_axiomatic_deductive_system}\mcite[def. 55.10]{OpenLogicFull}
  While the \hyperref[def:positive_implicational_deductive_system]{positive implicational propositional deductive system} is simple, it is of more practical use to have all propositional connectives available. As it turns out, we cannot utilize \hyperref[ex:thm:posts_completeness_theorem]{complete families of Boolean functions} unless we are dealing with \hyperref[def:propositional_semantics]{classical semantics} --- see for example \fullref{ex:heyting_semantics_lem_counterexample} and \fullref{ex:topological_semantics_lem_counterexample} for how \fullref{thm:boolean_equivalences/conditional_as_disjunction} fails to hold.

  Our goal is to define the (axiomatic) \term{minimal propositional axiomatic deductive system}, which would correspond to \hyperref[def:minimal_logic]{minimal logic}. It is axiomatic in the sense that we do not use new rules to express the rest of the propositional syntax, but instead we need axiom schemas for each connective. The only exception is \hyperref[def:propositional_language/constants/verum]{\( \bot \)}, the axioms for which tend to change semantics by a lot --- see \fullref{thm:minimal_propositional_negation_laws}.

  Axioms with \( + \) in the superscript are called \term{introduction axioms} and axioms with \( - \) are called \term{elimination axioms}.

  The following axioms are essential in the sense that they cannot be defined in terms of others:
  \begin{thmenum}[series=def:minimal_propositional_axiomatic_deductive_system]
    \thmitem{def:minimal_propositional_axiomatic_deductive_system/top} The simplest axiom states that the constant \hyperref[def:propositional_language/constants/verum]{\( \top \)} is itself an axiom:
    \begin{equation}\label{eq:def:minimal_propositional_axiomatic_deductive_system/top/intro}
      \top \tag{\textrm{AX} \( \top^+ \)}
    \end{equation}

    \thmitem{def:minimal_propositional_axiomatic_deductive_system/and} Axioms for \hyperref[def:propositional_language/connectives/conjunction]{conjunction}:
    \begin{align}
      \mathllap{ (\varphi \wedge \psi) } &\rightarrow \mathrlap{ \psi } \tag{\textrm{AX} \( \wedge_L^- \)} \label{eq:def:minimal_propositional_axiomatic_deductive_system/and/elim_left} \\
      \mathllap{ (\varphi \wedge \psi) } &\rightarrow \mathrlap{ \varphi } \tag{\textrm{AX} \( \wedge_R^- \)} \label{eq:def:minimal_propositional_axiomatic_deductive_system/and/elim_right} \\
      \mathllap{ \varphi }               &\rightarrow \mathrlap{ \parens[\Big]{ \psi \rightarrow (\varphi \wedge \psi) } } \tag{\textrm{AX} \( \wedge^+ \)} \label{eq:def:minimal_propositional_axiomatic_deductive_system/and/intro}
    \end{align}

    \thmitem{def:minimal_propositional_axiomatic_deductive_system/or} Axioms for \hyperref[def:propositional_language/connectives/disjunction]{disjunction}:
    \begin{align}
      \mathllap{ \varphi }                      &\rightarrow \mathrlap{ (\varphi \vee \psi) } \tag{\textrm{AX} \( \vee_L^+ \)} \label{eq:def:minimal_propositional_axiomatic_deductive_system/or/intro_left} \\
      \mathllap{ \psi }                      &\rightarrow \mathrlap{ (\varphi \vee \psi) } \tag{\textrm{AX} \( \vee_R^+ \)} \label{eq:def:minimal_propositional_axiomatic_deductive_system/or/intro_right} \\
      \mathllap{ (\varphi \rightarrow \theta) } &\rightarrow \mathrlap{ \parens[\Big]{ (\psi \rightarrow \theta) \rightarrow ((\varphi \vee \psi) \rightarrow \theta) } } \tag{\textrm{AX} \( \vee^- \)} \label{eq:def:minimal_propositional_axiomatic_deductive_system/or/elim}
    \end{align}
  \end{thmenum}

  The following axioms and are said to be \enquote{abbreviations} and do not affect semantics:
  \begin{thmenum}[resume=def:minimal_propositional_axiomatic_deductive_system]
    \thmitem{def:minimal_propositional_axiomatic_deductive_system/iff} The axioms for the biconditional is motivated via \fullref{thm:boolean_equivalences/biconditional_via_conditionals}:
    \begin{align}
      \mathllap{ (\varphi \rightarrow \psi)     } &\rightarrow \mathrlap{ \parens[\Big]{ (\psi \rightarrow \varphi) \rightarrow (\varphi \leftrightarrow \psi) } } \tag{\textrm{AX} \( \leftrightarrow^+ \)} \label{def:minimal_propositional_axiomatic_deductive_system/iff/intro} \\
      \mathllap{ (\varphi \leftrightarrow \psi)  }&\rightarrow \mathrlap{ (\varphi \rightarrow \psi) } \tag{\textrm{AX} \( \leftrightarrow_L^- \)} \label{eq:def:minimal_propositional_axiomatic_deductive_system/iff/elim_left} \\
      \mathllap{ (\varphi \leftrightarrow \psi) } &\rightarrow \mathrlap{ (\psi \rightarrow \varphi) } \tag{\textrm{AX} \( \leftrightarrow_R^- \)} \label{eq:def:minimal_propositional_axiomatic_deductive_system/iff/elim_right}
    \end{align}

    \thmitem{def:minimal_propositional_axiomatic_deductive_system/negation} The axioms for negation is motivated via \fullref{thm:boolean_equivalences/negation_bottom}:
    \begin{align}
      \mathllap{ \neg \varphi }               &\rightarrow \mathrlap{ (\varphi \rightarrow \bot) } \tag{\textrm{AX} \( \neg^- \)} \label{eq:def:minimal_propositional_axiomatic_deductive_system/neg/elim} \\
      \mathllap{ (\varphi \rightarrow \bot) } &\rightarrow \mathrlap{ \neg \varphi } \tag{\textrm{AX} \( \neg^+ \)} \label{eq:def:minimal_propositional_axiomatic_deductive_system/neg/intro}
    \end{align}
  \end{thmenum}
\end{definition}

\begin{definition}\label{def:natural_deduction_system}\mimprovised
  \term{Natural deductive systems} are \hyperref[def:deductive_system]{deductive systems} whose set of rules allows \term{discharging} certain assumptions of the proof tree. These rules correspond to \enquote{bringing in} the sequent \( \varphi \vdash \psi \) as a formula \( \varphi \to \psi \), thus eliminating \( \varphi \) as an assumption as justified by \fullref{thm:syntactic_deduction_theorem}.

  In a natural deduction system, all assumptions in a \hyperref[def:proof_tree]{proof trees} are labeled differently. When applying a rule that supports discharging assumptions, we add an additional \hyperref[def:weighted_set]{label} to the subproof that matches the label of the assumption which we discharge.

  This allows us to distinguish between \term{discharged assumptions} and \term{undischarged assumptions}. We add a \hyperref[def:proof_tree/premises]{non-premise label} to every discharged assumption so that it does not affect \hyperref[def:proof_derivability]{derivability}.
\end{definition}

\begin{proposition}\label{def:minimal_propositional_natural_deduction_system}\mcite[sec. 10.2]{OpenLogicFull}
  We define the \term{minimal propositional natural deduction system}, which is the \hyperref[def:natural_deduction_system]{natural deduction} equivalent of the \hyperref[def:minimal_propositional_axiomatic_deductive_system]{minimal propositional axiomatic deductive system}.

  \begin{thmenum}
    \thmitem{def:minimal_propositional_natural_deduction_system/imp} The following rules corresponds to the conditional axiom schemas in \fullref{def:positive_implicational_deductive_system}:

    \begin{minipage}[t]{0.45\textwidth}
      This rule is inspired by \eqref{eq:def:positive_implicational_deductive_system/intro}:
      \begin{equation*}\taglabel[\( \rightarrow^+ \)]{eq:def:minimal_propositional_natural_deduction_system/imp/intro}
        \begin{prooftree}
          \hypo{ [\psi]^n }
          \ellipsis {} { \varphi }
          \infer[left label=\( n \)]1[\ref{eq:def:minimal_propositional_natural_deduction_system/imp/intro}]{ \psi \rightarrow \varphi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
    \hfill
    \begin{minipage}[t]{0.45\textwidth}
      This rule is merely a renaming of \eqref{eq:def:def:axiomatic_deductive_system/mp}:
      \begin{equation*}\taglabel[\( \rightarrow^- \)]{eq:def:minimal_propositional_natural_deduction_system/imp/elim}
        \begin{prooftree}
          \hypo{ \varphi \rightarrow \psi }
          \hypo{ \varphi }
          \infer2[\ref{eq:def:minimal_propositional_natural_deduction_system/imp/elim}]{ \psi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}

    The additional notation in \eqref{eq:def:minimal_propositional_natural_deduction_system/imp/intro} means that the premise labeled with \( n \), if any, can be discharged.

    Note that there is no rule corresponding to \eqref{eq:def:positive_implicational_deductive_system/trans} because this axiom schema follows from \eqref{eq:def:minimal_propositional_natural_deduction_system/imp/intro} and \eqref{eq:def:minimal_propositional_natural_deduction_system/imp/elim}. Unlike in the axiomatic deductive system where \eqref{eq:def:positive_implicational_deductive_system/trans} is used to prove \fullref{thm:syntactic_deduction_theorem}, here we have a stronger connection between \( \rightarrow \) in the object language and \( \vdash \) in the metalanguage given by \eqref{eq:def:minimal_propositional_natural_deduction_system/imp/intro}.

    \thmitem{def:minimal_propositional_natural_deduction_system/top} The following rule corresponds to the axiom \eqref{eq:def:minimal_propositional_axiomatic_deductive_system/top/intro}:
    \begin{equation*}\taglabel[\( \top^+ \)]{eq:def:minimal_propositional_natural_deduction_system/top/intro}
      \begin{prooftree}
        \infer0[\ref{eq:def:minimal_propositional_natural_deduction_system/top/intro}]{ \top }
      \end{prooftree}
    \end{equation*}

    As discussed in \fullref{def:deductive_system/rule}, applications of this rule have a \hyperref[def:proof_tree/premises]{non-premise label} in order to prevent \( \top \) as an undischarged assumption.

    \thmitem{def:minimal_propositional_natural_deduction_system/and} The following rules corresponds to the conjunction axiom schemas in \fullref{def:minimal_propositional_axiomatic_deductive_system/and}:

    \begin{minipage}{0.3\textwidth}
      \begin{equation*}\taglabel[\( \wedge^+ \)]{eq:def:minimal_propositional_natural_deduction_system/and/intro}
        \begin{prooftree}
          \hypo{ \varphi }
          \hypo{ \psi }
          \infer2[\ref{eq:def:minimal_propositional_natural_deduction_system/and/intro}]{ \varphi \wedge \psi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
    \hfill
    \begin{minipage}{0.3\textwidth}
      \begin{equation*}\taglabel[\( \wedge_L^- \)]{eq:def:minimal_propositional_natural_deduction_system/and/elim_left}
        \begin{prooftree}
          \hypo{ \varphi \wedge \psi }
          \infer1[\ref{eq:def:minimal_propositional_natural_deduction_system/and/elim_left}]{ \psi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
    \hfill
    \begin{minipage}{0.3\textwidth}
      \begin{equation*}\taglabel[\( \wedge_R^- \)]{eq:def:minimal_propositional_natural_deduction_system/and/elim_right}
        \begin{prooftree}
          \hypo{ \varphi \wedge \psi }
          \infer1[\ref{eq:def:minimal_propositional_natural_deduction_system/and/elim_right}]{ \varphi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}

    \thmitem{def:minimal_propositional_natural_deduction_system/or} The following rules corresponds to the disjunction axiom schemas in \fullref{def:minimal_propositional_axiomatic_deductive_system/or}:

    \begin{minipage}{0.3\textwidth}
      \begin{equation*}\taglabel[\( \vee_L^+ \)]{eq:def:minimal_propositional_natural_deduction_system/or/intro_left}
        \begin{prooftree}
          \hypo{ \varphi }
          \infer1[\ref{eq:def:minimal_propositional_natural_deduction_system/or/intro_left}]{ \varphi \vee \psi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
    \hfill
    \begin{minipage}{0.3\textwidth}
      \begin{equation*}\taglabel[\( \vee_R^+ \)]{eq:def:minimal_propositional_natural_deduction_system/or/intro_right}
        \begin{prooftree}
          \hypo{ \psi }
          \infer1[\ref{eq:def:minimal_propositional_natural_deduction_system/or/intro_right}]{ \varphi \vee \psi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
    \hfill
    \begin{minipage}{0.3\textwidth}
      \begin{equation*}\taglabel[\( \vee^- \)]{eq:def:minimal_propositional_natural_deduction_system/or/elim}
        \begin{prooftree}
          \hypo{ \varphi \vee \psi }
          \hypo{ [\varphi]^n }
          \ellipsis {} { \theta }
          \hypo{ [\psi]^n }
          \ellipsis {} { \theta }
          \infer[left label=\( n \)]3[\ref{eq:def:minimal_propositional_natural_deduction_system/or/elim}]{ \theta }
        \end{prooftree}
      \end{equation*}
    \end{minipage}

    \thmitem{def:minimal_propositional_natural_deduction_system/iff} The following rules corresponds to the biconditional axiom schemas in \fullref{def:minimal_propositional_axiomatic_deductive_system/iff}:

    \begin{minipage}{0.3\textwidth}
      \begin{equation*}\taglabel[\( \leftrightarrow^+ \)]{eq:def:minimal_propositional_natural_deduction_system/iff/intro}
        \begin{prooftree}
          \hypo{ [\varphi]^n }
          \ellipsis {} { \psi }
          \hypo{ [\psi]^n }
          \ellipsis {} { \varphi }
          \infer[left label=\( n \)]2[\ref{eq:def:minimal_propositional_natural_deduction_system/iff/intro}]{ \varphi \leftrightarrow \psi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
    \hfill
    \begin{minipage}{0.3\textwidth}
      \begin{equation*}\taglabel[\( \leftrightarrow_L^- \)]{eq:def:minimal_propositional_natural_deduction_system/iff/elim_left}
        \begin{prooftree}
          \hypo{ \varphi \leftrightarrow \psi }
          \hypo{ \psi }
          \infer2[\ref{eq:def:minimal_propositional_natural_deduction_system/iff/elim_left}]{ \varphi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
    \hfill
    \begin{minipage}{0.3\textwidth}
      \begin{equation*}\taglabel[\( \leftrightarrow_R^- \)]{eq:def:minimal_propositional_natural_deduction_system/iff/elim_right}
        \begin{prooftree}
          \hypo{ \varphi \leftrightarrow \psi }
          \hypo{ \varphi }
          \infer2[\ref{eq:def:minimal_propositional_natural_deduction_system/iff/elim_right}]{ \psi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}

    \thmitem{def:minimal_propositional_natural_deduction_system/negation} The following rules corresponds to the negation axiom schemas in \fullref{def:minimal_propositional_axiomatic_deductive_system/negation}:

    \begin{minipage}{0.45\textwidth}
      \begin{equation*}\taglabel[\( \neg^+ \)]{eq:def:minimal_propositional_natural_deduction_system/neg/intro}
        \begin{prooftree}
          \hypo{ [\varphi]^n }
          \ellipsis {} { \bot }
          \infer[left label=\( n \)]1[\ref{eq:def:minimal_propositional_natural_deduction_system/neg/intro}]{ \neg \varphi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
    \hfill
    \begin{minipage}{0.45\textwidth}
      \begin{equation*}\taglabel[\( \neg^- \)]{eq:def:minimal_propositional_natural_deduction_system/neg/elim}
        \begin{prooftree}
          \hypo{ \varphi }
          \hypo{ \neg \varphi }
          \infer2[\ref{eq:def:minimal_propositional_natural_deduction_system/neg/elim}]{ \bot }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
  \end{thmenum}
\end{proposition}
\begin{defproof}
  We will prove that the axiomatic \hyperref[def:minimal_propositional_axiomatic_deductive_system]{minimal propositional axiomatic deductive system} is equivalent to the rules of natural deduction described in this proposition.

  \SubProofOf{def:minimal_propositional_natural_deduction_system/imp} Consider first the axiom \eqref{eq:def:positive_implicational_deductive_system/intro}. Fix two formulas \( \varphi \) and \( \psi \). Then \( \varphi \rightarrow (\psi \rightarrow \varphi) \) is an instance of \eqref{eq:def:positive_implicational_deductive_system/intro}. Thus, we obtain \( \varphi \vdash \psi \rightarrow \varphi \) by applying \eqref{eq:def:def:axiomatic_deductive_system/mp}, which in turn shows the validity of the rule \eqref{eq:def:minimal_propositional_natural_deduction_system/imp/intro}.

  The labeled assumption here is essential for showing that \eqref{eq:def:minimal_propositional_natural_deduction_system/imp/intro} implies \eqref{eq:def:positive_implicational_deductive_system/intro}. Without it we would have the rule
  \begin{equation*}
    \begin{prooftree}
      \hypo{ \psi }
      \infer1{ \varphi \rightarrow \psi }
    \end{prooftree}
  \end{equation*}
  which would not allow us to discharge the assumption \( \varphi \) when it is in fact immaterial for the validity of \( \psi \).

  Now we will show that \eqref{eq:def:positive_implicational_deductive_system/trans} can be derived using only the rules \eqref{eq:def:minimal_propositional_natural_deduction_system/imp/intro} and \eqref{eq:def:minimal_propositional_natural_deduction_system/imp/elim}:
  \begin{equation}\label{eq:def:minimal_propositional_natural_deduction_system/imp/trans_derivation}
    \begin{prooftree}
      \hypo{ [\varphi \rightarrow (\psi \rightarrow \theta)]^1 }
      \hypo{ [\varphi]^2 }
      \infer2[\ref{eq:def:minimal_propositional_natural_deduction_system/imp/elim}]{ \psi \rightarrow \theta }

      \hypo{ [\varphi \rightarrow \psi]^3 }
      \hypo{ [\varphi]^2 }
      \infer2[\ref{eq:def:minimal_propositional_natural_deduction_system/imp/elim}]{ \psi }

      \infer2[\ref{eq:def:minimal_propositional_natural_deduction_system/imp/elim}]{ \theta }

      \infer[left label=\( 2 \)]1[\ref{eq:def:minimal_propositional_natural_deduction_system/imp/intro}]{ \varphi \rightarrow \theta }
      \infer[left label=\( 3 \)]1[\ref{eq:def:minimal_propositional_natural_deduction_system/imp/intro}]{ (\varphi \rightarrow \psi) \rightarrow (\varphi \rightarrow \theta) }
      \infer[left label=\( 1 \)]1[\ref{eq:def:minimal_propositional_natural_deduction_system/imp/intro}]{ \eqref{eq:def:positive_implicational_deductive_system/trans} }
    \end{prooftree}
  \end{equation}

  \SubProofOf{def:minimal_propositional_natural_deduction_system/top} Obvious.

  \SubProofOf{def:minimal_propositional_natural_deduction_system/and} The rule \eqref{eq:def:minimal_propositional_axiomatic_deductive_system/and/intro} is equivalent by more readable than proving \( \set{ \varphi, \psi } \vdash \varphi \wedge \psi \) directly. Indeed, compare it to
  \begin{equation*}
    \begin{prooftree}
      \hypo{ \varphi }
      \hypo{ \eqref{eq:def:minimal_propositional_axiomatic_deductive_system/and/intro} }
      \infer2[\ref{eq:def:def:axiomatic_deductive_system/mp}]{ \psi \rightarrow (\varphi \wedge \psi) }

      \hypo{ \psi }
      \infer2[\ref{eq:def:def:axiomatic_deductive_system/mp}]{ \varphi \wedge \psi },
    \end{prooftree}
  \end{equation*}
  which is a derivation of \( \varphi \wedge \psi \) from \( \set{ \varphi, \psi } \) using the axiomatic system. The other direction is also simple:
  \begin{equation}\label{eq:def:minimal_propositional_natural_deduction_system/and_intro_axiom_derivation}
    \begin{prooftree}
      \hypo{ [\varphi]^1 }
      \hypo{ [\psi]^2 }
      \infer2[\ref{eq:def:minimal_propositional_natural_deduction_system/and/intro}]{ \varphi \wedge \psi }
      \infer[left label=\( 2 \)]1[\ref{eq:def:minimal_propositional_natural_deduction_system/imp/intro}]{ \psi \rightarrow (\varphi \wedge \psi) },
      \infer[left label=\( 1 \)]1[\ref{eq:def:minimal_propositional_natural_deduction_system/imp/intro}]{ \eqref{eq:def:minimal_propositional_axiomatic_deductive_system/and/intro} },
    \end{prooftree}
  \end{equation}

  The other two rules are trivially connected to the corresponding axioms using a single application of \eqref{eq:def:def:axiomatic_deductive_system/mp}.

  \SubProofOf{def:minimal_propositional_natural_deduction_system/or} For a more complicated example, consider \eqref{eq:def:minimal_propositional_axiomatic_deductive_system/or/elim}. We have
  \begin{equation*}
    \begin{prooftree}
      \hypo{ \eqref{eq:def:minimal_propositional_axiomatic_deductive_system/or/elim} }
      \hypo{ \varphi \rightarrow \theta }
      \infer2[\ref{eq:def:def:axiomatic_deductive_system/mp}]{ (\psi \rightarrow \theta) \rightarrow ((\varphi \vee \psi) \rightarrow \theta) },

      \hypo{ \psi \rightarrow \theta }
      \infer2[\ref{eq:def:def:axiomatic_deductive_system/mp}]{ (\varphi \vee \psi) \rightarrow \theta }.

      \hypo{ \varphi \vee \psi }
      \infer2[\ref{eq:def:def:axiomatic_deductive_system/mp}]{ \theta }.
    \end{prooftree}
  \end{equation*}

  The assumptions of this derivations are \( \varphi \rightarrow \theta \), \( \psi \rightarrow \theta \) and \( \varphi \vee \psi \). Instead of adding them directly as premises of the inference rule \eqref{eq:def:minimal_propositional_natural_deduction_system/or/elim}, we replace the conditional \( \rightarrow \) with labeled assumptions that correspond to \( \varphi \vdash \theta \) and \( \psi \vdash \theta \).

  We can prove that \eqref{eq:def:minimal_propositional_natural_deduction_system/or/elim} implies \eqref{eq:def:minimal_propositional_axiomatic_deductive_system/or/elim} analogously to \eqref{eq:def:minimal_propositional_natural_deduction_system/and_intro_axiom_derivation}.

  The other two rules are again trivial to obtain from the corresponding axioms and vice versa.

  \SubProofOf{def:minimal_propositional_natural_deduction_system/iff} Analogous to what we have already shown.

  \SubProofOf{def:minimal_propositional_natural_deduction_system/negation} \eqref{eq:def:minimal_propositional_natural_deduction_system/neg/intro} is obtained from \eqref{eq:def:minimal_propositional_axiomatic_deductive_system/neg/intro} by applying \eqref{eq:def:def:axiomatic_deductive_system/mp} once and \eqref{eq:def:minimal_propositional_natural_deduction_system/neg/elim} is obtained from \eqref{eq:def:minimal_propositional_axiomatic_deductive_system/neg/intro} by applying \eqref{eq:def:def:axiomatic_deductive_system/mp} twice. Using the rules to derive the axioms is similar to \eqref{eq:def:minimal_propositional_natural_deduction_system/and_intro_axiom_derivation}.
\end{defproof}

\begin{proposition}\label{thm:conjunction_of_premises}
  In deductive systems that extend the \hyperref[def:minimal_propositional_natural_deduction_system]{minimal propositional natural deduction system}, we have \( \psi_1, \psi_1 \vdash \varphi \) if and only if \( (\psi_1 \wedge \psi_2) \vdash \varphi \).
\end{proposition}
\begin{proof}
  \SufficiencySubProof If \( \psi_1, \psi_2 \vdash \varphi \), then
  \begin{equation*}
    \begin{prooftree}
      \hypo{ \psi_1 \wedge \psi_2 }
      \infer1[\eqref{eq:def:minimal_propositional_natural_deduction_system/and/elim_right}]{ \psi_1 }

      \hypo{ \psi_1 \wedge \psi_2 }
      \infer1[\eqref{eq:def:minimal_propositional_natural_deduction_system/and/elim_right}]{ \psi_2 }

      \infer2{}

      \ellipsis{}{ \varphi }
    \end{prooftree}
  \end{equation*}

  \NecessitySubProof If \( (\psi_1 \wedge \psi_2) \vdash \varphi \), then
  \begin{equation*}
    \begin{prooftree}
      \hypo{ \psi_1 }
      \hypo{ \psi_2 }
      \infer2[\eqref{eq:def:minimal_propositional_natural_deduction_system/and/intro}]{ \psi_1 \wedge \psi_2 }
      \ellipsis{}{ \varphi }
    \end{prooftree}
  \end{equation*}
\end{proof}

\begin{theorem}\label{thm:minimal_propositional_negation_laws}
  Consider the following propositional formula schemas:
  \begin{thmenum}
    \thmitem{thm:minimal_propositional_negation_laws/dne} Double negation elimination:
    \begin{equation}\label{eq:thm:minimal_propositional_negation_laws/dne}
      \neg \neg \varphi \rightarrow \varphi \tag{AX DNE}.
    \end{equation}

    The semantic counterpart to this law is \fullref{thm:boolean_equivalences/double_negation}.

    \thmitem{thm:minimal_propositional_negation_laws/efq} \term[en=from falsity everything follows]{Ex falso quodlibet}, also known as the \term{principle of explosion}:
    \begin{equation}\label{eq:thm:minimal_propositional_negation_laws/efq}
      \bot \rightarrow \varphi \tag{AX EFQ}
    \end{equation}

    \thmitem{thm:minimal_propositional_negation_laws/pierce} \term{Pierce's law}:
    \begin{equation}\label{eq:thm:minimal_propositional_negation_laws/pierce}
      ((\varphi \rightarrow \psi) \rightarrow \varphi) \rightarrow \varphi \tag{AX Pierce}
    \end{equation}

    \thmitem{thm:minimal_propositional_negation_laws/lem} The \term{law of the excluded middle}:
    \begin{equation}\label{eq:thm:minimal_propositional_negation_laws/lem}
      \varphi \vee \neg \varphi \tag{AX LEM}
    \end{equation}

    \thmitem{thm:minimal_propositional_negation_laws/lnc} The \term{law of non-contradiction}:
    \begin{equation}\label{eq:thm:minimal_propositional_negation_laws/lnc}
      \neg (\varphi \wedge \neg \varphi). \tag{AX LNC}
    \end{equation}
  \end{thmenum}

  Assuming the \hyperref[def:minimal_propositional_axiomatic_deductive_system]{minimal propositional axiomatic deductive system}, we have the following derivations:
  \begin{center}
    \begin{forest}
      [
        {\eqref{eq:thm:minimal_propositional_negation_laws/dne}}
          [
            {\eqref{eq:thm:minimal_propositional_negation_laws/pierce}}
              [{\eqref{eq:thm:minimal_propositional_negation_laws/lem}}]
          ]
          [
            {\eqref{eq:thm:minimal_propositional_negation_laws/efq}}
              [{\eqref{eq:thm:minimal_propositional_negation_laws/lnc}}]
          ]
      ]
    \end{forest}
  \end{center}

  As it turns out, \eqref{eq:thm:minimal_propositional_negation_laws/lnc}, which is often associated with intuitionistic logic, is a theorem of \hyperref[def:minimal_logic]{minimal logic}.

  Conversely, \eqref{eq:thm:minimal_propositional_negation_laws/efq} and \eqref{eq:thm:minimal_propositional_negation_laws/lem} together can be used to derive \eqref{eq:thm:minimal_propositional_negation_laws/dne}.
\end{theorem}
\begin{proof}
  Most proofs are given in \cite[prop. 3]{DienerMcKubreJordens2016} and \cite[prop. 13]{DienerMcKubreJordens2016}. We will only show that \eqref{eq:thm:minimal_propositional_negation_laws/lnc} is strictly weaker than \eqref{eq:thm:minimal_propositional_negation_laws/efq}.

  For any formula \( \varphi \), we have the \hyperref[def:minimal_propositional_natural_deduction_system]{natural deduction} proof that \( \eqref{eq:thm:minimal_propositional_negation_laws/lnc} \) is a tautology:
  \begin{equation*}
    \begin{prooftree}[separation=3em]
      \hypo{ [\varphi \wedge \neg \varphi]^1 }
      \infer1[\ref{eq:def:minimal_propositional_natural_deduction_system/and/elim_left}]{ \varphi }

      \hypo{ [\varphi \wedge \neg \varphi]^1 }
      \infer1[\ref{eq:def:minimal_propositional_natural_deduction_system/and/elim_right}]{ \neg \varphi }

      \infer2[\ref{eq:def:minimal_propositional_natural_deduction_system/neg/elim}]{ \bot }

      \infer[left label=\( 1 \)]1[\ref{eq:def:minimal_propositional_natural_deduction_system/neg/intro}]{ \neg (\varphi \wedge \neg \varphi) }
    \end{prooftree}
  \end{equation*}

  Hence, \eqref{eq:thm:minimal_propositional_negation_laws/lnc} is a theorem of \hyperref[def:minimal_logic]{minimal logic}. If it were to imply \eqref{eq:thm:minimal_propositional_negation_laws/efq}, then minimal and intuitionistic logic would be equivalent, which would contradict \cite[prop. 3]{DienerMcKubreJordens2016}. Therefore, \eqref{eq:thm:minimal_propositional_negation_laws/lnc} is indeed strictly weaker than \eqref{eq:thm:minimal_propositional_negation_laws/efq}.
\end{proof}

\begin{proposition}\label{thm:syntactic_contraposition}
  In the \hyperref[def:minimal_propositional_natural_deduction_system]{minimal propositional natural deduction system}, we have
  \begin{align}
    \varphi \rightarrow \psi &\vdash \neg \psi \rightarrow \neg \varphi \label{eq:thm:syntactic_contraposition/straight} \\
    \eqref{eq:thm:minimal_propositional_negation_laws/dne}, \neg \varphi \rightarrow \neg \psi &\vdash \psi \rightarrow \varphi \label{eq:thm:syntactic_contraposition/reverse}
  \end{align}
\end{proposition}
\begin{proof}
  We will only prove \eqref{eq:thm:syntactic_contraposition/straight}. The derivability \eqref{eq:thm:syntactic_contraposition/reverse} can be proved in the same way except that we would use \eqref{eq:def:minimal_propositional_natural_deduction_system/neg/intro} rather than \eqref{eq:def:classical_propositional_deductive_systems/rules/dne}.

  \begin{equation*}
    \begin{prooftree}
      \hypo{ \varphi \rightarrow \psi }
      \hypo{ [\varphi]^1 }
      \infer2[\eqref{eq:def:minimal_propositional_natural_deduction_system/imp/elim}]{ \psi }

      \hypo{ [\neg \psi]^2 }
      \infer2[\eqref{eq:def:minimal_propositional_natural_deduction_system/neg/elim}]{ \bot }

      \infer[left label=\( 1 \)]1[\eqref{eq:def:minimal_propositional_natural_deduction_system/neg/intro}]{ \neg \varphi }
      \infer[left label=\( 2 \)]1[\eqref{eq:def:minimal_propositional_natural_deduction_system/imp/intro}]{ \neg \psi \rightarrow \neg \varphi }
    \end{prooftree}
  \end{equation*}
\end{proof}

\begin{definition}\label{def:intuitionistic_propositional_deductive_systems}\mcite[def. 55.10]{OpenLogicFull}
  The \term{intuitionistic propositional natural deduction system} extends the \hyperref[def:minimal_propositional_natural_deduction_system]{minimal propositional natural deduction system} with the rule
  \begin{equation*}\taglabel[\textrm{EFQ}]{eq:def:intuitionistic_propositional_deductive_systems/rules/efq}
    \begin{prooftree}
      \hypo{ \bot }
      \infer1[\ref{eq:def:intuitionistic_propositional_deductive_systems/rules/efq}]{ \varphi }
    \end{prooftree}
  \end{equation*}

  This corresponds to the axiom \eqref{eq:thm:minimal_propositional_negation_laws/efq}, which we can add to the \hyperref[def:minimal_propositional_axiomatic_deductive_system]{minimal propositional axiomatic deductive system}.

  The corresponding semantics are defined in \fullref{def:propositional_heyting_algebra_semantics} and their link with the deductive system is given in \fullref{thm:intuitionistic_propositional_logic_is_sound_and_complete}.
\end{definition}

\begin{definition}\label{def:propositional_heyting_algebra_semantics}\mcite[14]{BezhanishviliHolliday2019}
  We define \term{Heyting semantics} for propositional formulas similarly to how it is done with classical Boolean semantics in \fullref{def:propositional_semantics}, except that instead of using a \hyperref[def:boolean_algebra]{Boolean algebra} we use a more general \hyperref[def:heyting_algebra]{Heyting algebra}.

  Logical negations depend on complements in Boolean algebras. Since Heyting algebras do not have complements, we instead use \hyperref[def:heyting_algebra/pseudocomplement]{pseudocomplements}.

  Fix a Heyting algebra \( \mscrH = (H, \sup, \inf, T, F, \rightarrow) \). \hyperref[def:propositional_valuation/interpretation]{Propositional interpretations} in Heyting semantics may take any value in \( X \), as can \hyperref[def:propositional_valuation/formula_valuation]{formula valuations}.

  Given an interpretation \( I \) and a formula \( \varphi \), we define \( \varphi\Bracks{I} \) via \eqref{eq:def:propositional_valuation/formula_interpretation}, the sole difference being that negation valuation is defined via the pseudocomplement:
  \begin{equation*}
    (\neg \psi)\Bracks{I} \coloneqq \widetilde{\varphi\Bracks{I}}.
  \end{equation*}

  We say that \( I \) satisfies \( \varphi \) if \( \varphi\Bracks{I} = T \). Thus, if the valuation of \( \varphi \) takes any value in \( H \setminus \set{ T } \), then \( I \) does not satisfy \( \varphi \), but that does not necessarily mean that \( I \) satisfies \( \neg \varphi \).

  Then \( \Gamma \) entails \( \varphi \) if, for every \( \psi \in \Gamma \) and every interpretation \( I \) in every Heyting algebra, we have \( \varphi\Bracks{I} = \psi\Bracks{I} \).

  It is important that different Heyting algebras may provide different semantics --- see \fullref{ex:heyting_semantics_lem_counterexample} for an example of what is impossible in a Boolean algebra.
\end{definition}

\begin{example}\label{ex:heyting_semantics_lem_counterexample}
  Let \( \mscrX \) be an extension of the trivial Boolean algebra \( \set{ T, F } \) with the \enquote{indeterminate} symbol \( N \). That is, the domain of \( \mscrX \) is \( \set{ F, N, T } \) and the order is \( F \leq N \leq T \).

  The pseudocomplement of \( N \) is
  \begin{equation*}
    \widetilde{N}
    \reloset {\eqref{eq:def:heyting_algebra/pseudocomplement}} =
    \sup\set{ a \in X \given a \wedge N = \bot }
    =
    F.
  \end{equation*}

  Consider any \hyperref[def:propositional_valuation]{propositional interpretation} \( I \) such that \( I(P) = N \).

  Then the valuation of \eqref{eq:thm:minimal_propositional_negation_laws/lem} is
  \begin{equation*}
    (P \vee \neg P)\Bracks{I}
    =
    \sup\set{ P\Bracks{I}, \widetilde{P\Bracks{I}} }
    =
    \sup\set{ N, \widetilde{N} }
    =
    \sup\set{ N, F }
    =
    N.
  \end{equation*}

  Therefore, \eqref{eq:thm:minimal_propositional_negation_laws/lem} does not hold.
\end{example}

\begin{theorem}\label{thm:intuitionistic_propositional_logic_is_sound_and_complete}\mcite[11]{BezhanishviliHolliday2019}
  The \hyperref[def:intuitionistic_propositional_deductive_systems]{intuitionistic propositional deductive system} is \hyperref[def:derivability_and_satisfiability/soundness]{sound} and \hyperref[def:derivability_and_satisfiability/completeness]{complete} with respect to \hyperref[def:propositional_heyting_algebra_semantics]{Heyting semantics}. To elaborate,
  \begin{thmenum}
    \thmitem{thm:intuitionistic_propositional_logic_is_sound_and_complete/sound} If \( \vdash \varphi \), then \( \vDash \varphi \) for every Heyting algebra.
    \thmitem{thm:intuitionistic_propositional_logic_is_sound_and_complete/complete} If \( \vDash \varphi \) in every Heyting algebra, then \( \vdash \varphi \).
  \end{thmenum}
\end{theorem}

\begin{definition}\label{def:propositional_topological_semantics}\mcite[15]{BezhanishviliHolliday2019}
  Since arbitrary \hyperref[def:heyting_algebra]{Heyting algebras} can be cumbersome to come up with when used for \hyperref[def:propositional_heyting_algebra_semantics]{propositional Heyting semantics}, we can instead utilize \fullref{ex:topological_space_is_heyting_algebra} and define \term{topological semantics} for some nonempty \hyperref[def:topological_space]{topological space}.

  The truth values of interpretations and valuations are then open sets in some topological space and a formula is said to be valid if its valuation is the whole space.
\end{definition}

\begin{example}\label{ex:topological_semantics_lem_counterexample}
  Let \( U \) be an open set in the standard topology in \( \BbbR \). We will examine \eqref{eq:thm:minimal_propositional_negation_laws/lem} with respect to \hyperref[def:propositional_topological_semantics]{topological semantics} for \( \BbbR \). Due to \fullref{ex:topological_space_is_heyting_algebra}, given any \hyperref[def:propositional_valuation]{propositional interpretation} \( I \) such that \( I(P) = U \), we have
  \begin{equation*}
    (P \vee \neg P)\Bracks{I}
    =
    P\Bracks{I} \cup \widetilde{P\Bracks{I}}
    =
    U \cup \widetilde{U}
    =
    U \cup \Int(\BbbR \setminus U).
  \end{equation*}

  If \( U = \varnothing \), then \( (P \vee \neg P)\Bracks{I} = \BbbR \) and \eqref{eq:thm:minimal_propositional_negation_laws/lem} holds. If \( U = (0, 1) \), then \( (P \vee \neg P)\Bracks{I} = \BbbR \setminus \set{ 0, 1 } \) and \eqref{eq:thm:minimal_propositional_negation_laws/lem} does not hold.

  Compare this result with \fullref{ex:heyting_semantics_lem_counterexample}.
\end{example}

\begin{definition}\label{def:brouwer_heyting_kolmogorov_interpretation}\mcite[sec. 55.3]{OpenLogicFull}
  Another semantics for the \hyperref[def:intuitionistic_propositional_deductive_systems]{intuitionistic propositional deductive system} is the \term{Brouwer-Heyting-Kolmogorov interpretation}.

  It uses a less formal approach than \hyperref[def:propositional_heyting_algebra_semantics]{Heyting algebra semantics} that is based on the notion of a \enquote{construction}, which is also why it is sometimes called \term{constructive logic}.

  \begin{thmenum}
    \thmitem{def:brouwer_heyting_kolmogorov_interpretation/atomic} We assume that we know what constitutes a construction of propositional variables.
    \thmitem{def:brouwer_heyting_kolmogorov_interpretation/constant} There is no construction of \( \bot \) and no construction of \( \top \) is needed.
    \thmitem{def:brouwer_heyting_kolmogorov_interpretation/disjunction} A construction of \( \psi_1 \vee \psi_2 \) is a pair \( (k, M) \), where \( k = 1, 2 \) and \( M \) is a construction of \( \psi_m \) if and only if \( k = m \). The notion of a pair here is informal.
    \thmitem{def:brouwer_heyting_kolmogorov_interpretation/conjunction} A construction of \( \psi_1 \wedge \psi_2 \) is a pair \( (M_1, M_2) \), where \( M_k \) is a construction of \( \psi_k \) for \( k = 1, 2 \).
    \thmitem{def:brouwer_heyting_kolmogorov_interpretation/conditional} A construction of \( \psi_1 \rightarrow \psi_2 \) is a function that converts a construction of \( \psi_1 \) into a construction of \( \psi_2 \). The notion of a function here is informal.
  \end{thmenum}

  The negation \( \neg\psi \) that corresponds to pseudocomplements in Heyting algebra semantics corresponds to the metastatement \enquote{a construction of \( \psi \) is impossible} under the Heyting-Brouwer-Kolmogorov interpretation.

  If the set \( \Gamma \) of formulas does not derive \( \varphi \), we say that \( \varphi \) is non-constructive under the axioms \( \Gamma \).
\end{definition}

\begin{remark}\label{rem:brouwer_heyting_kolmogorov_interpretation_compatibility}
  Since the \hyperref[def:brouwer_heyting_kolmogorov_interpretation]{Heyting-Brouwer-Kolmogorov interpretation} is not very formal, we cannot properly prove its, soundness or completeness with respect to the \hyperref[def:intuitionistic_propositional_deductive_systems]{intuitionistic propositional deductive system}.

  Nevertheless, we generally accept the interpretation and conflate \enquote{constructive} and \enquote{intuitionistic} statements.
\end{remark}

\begin{example}\label{ex:def:brouwer_heyting_kolmogorov_interpretation/well_ordering_principle_zfc}
  \Fullref{thm:well_ordering_theorem} in \hyperref[def:set]{\logic{ZFC}} does not provide a way to well-order an arbitrary set. The theorem relies on the axiom of choice, whose consequence \fullref{thm:diaconescu_goodman_myhill_theorem} implies the law of the excluded middle (LEM) assuming the nonlogical axioms of \logic{ZFC}.

  Since LEM may not hold in intuitionistic logic, it follows that both \fullref{thm:well_ordering_theorem} and the axiom of choice itself should not in general hold under the Heyting-Brouwer-Kolmogorov interpretation, hence by the terminology in \fullref{def:brouwer_heyting_kolmogorov_interpretation}, \fullref{thm:well_ordering_theorem} is a non-constructive theorem.
\end{example}

\begin{definition}\label{def:classical_propositional_deductive_systems}
  In order to obtain a deductive system that matches \hyperref[def:propositional_semantics]{classical propositional semantics}, we may extend the \hyperref[def:minimal_propositional_natural_deduction_system]{minimal propositional natural deduction system} with the rule
  \begin{equation*}\taglabel[\textrm{DNE}]{eq:def:classical_propositional_deductive_systems/rules/dne}
    \begin{prooftree}
      \hypo{ [\neg \varphi]^n }
      \ellipsis {} { \bot }
      \infer[left label=\( n \)]1[\ref{eq:def:classical_propositional_deductive_systems/rules/dne}]{ \varphi }
    \end{prooftree}
  \end{equation*}

  This corresponds to the axiom \eqref{eq:thm:minimal_propositional_negation_laws/dne}, which we can add to the \hyperref[def:minimal_propositional_axiomatic_deductive_system]{minimal propositional axiomatic deductive system}. As per \fullref{thm:minimal_propositional_negation_laws}, we can instead add \eqref{eq:thm:minimal_propositional_negation_laws/lem} to the \hyperref[def:intuitionistic_propositional_deductive_systems]{intuitionistic propositional axiomatic deductive system}, since
  \begin{equation*}
    \eqref{eq:thm:minimal_propositional_negation_laws/lem}, \eqref{eq:thm:minimal_propositional_negation_laws/efq} \vdash \eqref{eq:thm:minimal_propositional_negation_laws/dne}
  \end{equation*}

  We call this, very simply, the (classical) \term{propositional deductive system}.
\end{definition}

\begin{theorem}[Glivenko's double negation theorem]\label{thm:glivenkos_double_negation_theorem}\mcite{Franks2018}
  A formula \( \varphi \) is derivable in the \hyperref[def:classical_propositional_deductive_systems]{classical propositional natural deduction system} if and only if it's double negation \( \neg \neg \varphi \) is derivable in the \hyperref[def:intuitionistic_propositional_deductive_systems]{intuitionistic propositional natural deduction system}.
\end{theorem}

\begin{theorem}\label{thm:classical_propositional_logic_is_sound_and_complete}\mcite[thm. 12.30 \\ corr. 13.7]{OpenLogicFull}
  The \hyperref[def:classical_propositional_deductive_systems]{classical propositional natural deduction system} is \hyperref[def:derivability_and_satisfiability/soundness]{sound} and \hyperref[def:derivability_and_satisfiability/completeness]{complete} with respect to \hyperref[def:propositional_semantics]{classical semantics}.
\end{theorem}

\medskip

\begin{definition}\label{def:first_order_natural_deduction_system}\mcite{LeanNaturalDeduction}
  If we wish to work with first-order logic rather than merely propositional logic, we must extend the \hyperref[def:classical_propositional_deductive_systems]{classical propositional natural deduction system}. We call this, very simply, the (classical) \term{first-order natural deduction system}.

  \begin{thmenum}
    \thmitem{def:first_order_natural_deduction_system/eigenvariables} We first add the following two \hyperref[def:judgment/inference_rule]{inference rules} for quantification:

    \begin{minipage}{0.45\textwidth}
      \begin{equation*}\taglabel[\( \forall^+ \)]{eq:def:first_order_natural_deduction_system/forall/intro}
        \begin{prooftree}
          \hypo{ \varphi }
          \infer1[\ref{eq:def:first_order_natural_deduction_system/forall/intro}]{ \qforall \xi \varphi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
    \hfill
    \begin{minipage}{0.45\textwidth}
      \begin{equation*}\taglabel[\( \exists^- \)]{eq:def:first_order_natural_deduction_system/exists/elim}
        \begin{prooftree}
          \hypo{ \qexists \xi \varphi }
          \hypo{ [\varphi]^n }
          \ellipsis {} { \psi }
          \infer[left label=\( n \)]2[\ref{eq:def:first_order_natural_deduction_system/exists/elim}]{ \psi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}

    Here \( \xi \) is a variable that is not free in any undischarged assumption in the proof of \( \varphi \) (it may be free in \( \varphi \) as long as \( \varphi \) is not itself an undischarged assumption). A variable \( \xi \) satisfying these conditions is called an \term{eigenvariable} of the rule.

    These rules are the primary motivation for inference rules accepting proof trees rather than only formulas --- see \fullref{def:judgment/inference_rule} and \fullref{def:deductive_system/rule}. See \fullref{ex:def:first_order_natural_deduction_system/eigenvariables/invalid_universal} for why this condition is important.

    \thmitem{def:first_order_natural_deduction_system/terms} We add two \hyperref[def:judgment/inference_rule]{inference rules}, where \( \tau \) is an arbitrary term:

    \begin{minipage}{0.45\textwidth}
      \begin{equation*}\taglabel[\( \forall^- \)]{eq:def:first_order_natural_deduction_system/forall/elim}
        \begin{prooftree}
          \hypo{ \qforall \xi \varphi }
          \infer1[\ref{eq:def:first_order_natural_deduction_system/forall/elim}]{ \varphi[\xi \mapsto \tau] }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
    \hfill
    \begin{minipage}{0.45\textwidth}
      \begin{equation*}\taglabel[\( \exists^+ \)]{eq:def:first_order_natural_deduction_system/exists/intro}
        \begin{prooftree}
          \hypo{ \varphi[\xi \mapsto \tau] }
          \infer1[\ref{eq:def:first_order_natural_deduction_system/exists/intro}]{ \qexists \xi \varphi }
        \end{prooftree}
      \end{equation*}
    \end{minipage}

    Compare this to \fullref{thm:quantifier_satisfiability}.

    \thmitem{def:first_order_natural_deduction_system/equality} Finally, we also add three rules for formal equality:

    \begin{minipage}{0.3\textwidth}
      \begin{equation*}\taglabel[\( \doteq^+ \)]{eq:def:first_order_natural_deduction_system/equality/intro}
        \begin{prooftree}
          \infer0[\ref{eq:def:first_order_natural_deduction_system/equality/intro}]{ \tau \doteq \tau }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
    \hfill
    \begin{minipage}{0.3\textwidth}
      \begin{equation*}\taglabel[\( \doteq_L^- \)]{eq:def:first_order_natural_deduction_system/equality/elim_left}
        \begin{prooftree}
          \hypo{ \tau \doteq \sigma }
          \hypo{ \varphi[\xi \mapsto \tau] }
          \infer2[\ref{eq:def:first_order_natural_deduction_system/equality/elim_left}]{ \varphi[\xi \mapsto \sigma] }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
    \hfill
    \begin{minipage}{0.3\textwidth}
      \begin{equation*}\taglabel[\( \doteq_L^+ \)]{eq:def:first_order_natural_deduction_system/equality/elim_right}
        \begin{prooftree}
          \hypo{ \tau \doteq \sigma }
          \hypo{ \varphi[\xi \mapsto \sigma] }
          \infer2[\ref{eq:def:first_order_natural_deduction_system/equality/elim_right}]{ \varphi[\xi \mapsto \tau] }
        \end{prooftree}
      \end{equation*}
    \end{minipage}
  \end{thmenum}
\end{definition}

\begin{example}\label{ex:def:first_order_natural_deduction_system/eigenvariables}
  \hfill
  \begin{thmenum}
    \thmitem{ex:def:first_order_natural_deduction_system/eigenvariables/invalid_universal_closure} We explicitly forbid the syntactic equivalent of \fullref{thm:implicit_universal_quantification} in order to avoid invalid proofs like \fullref{ex:def:first_order_natural_deduction_system/eigenvariables/invalid_universal}. Consider the proof
    \begin{equation*}
      \begin{prooftree}
        \hypo{ [\varphi]^1 }
        \infer1[\ref{eq:def:first_order_natural_deduction_system/forall/intro}]{ \qforall \xi \varphi }
      \end{prooftree}
    \end{equation*}

    The problem here is that \( \varphi \) is itself an undischarged assumption, hence \eqref{eq:def:first_order_natural_deduction_system/forall/intro} is actually inapplicable here, and the proof is invalid.

    \thmitem{ex:def:first_order_natural_deduction_system/eigenvariables/invalid_universal}\mcite[sec. 20.3]{OpenLogicFull} To see why the eigenvariable conditions in \fullref{def:first_order_natural_deduction_system/eigenvariables} are essential, consider the following proof of \( \qforall \xi \varphi \) from \( \qexists \xi \varphi \):
    \begin{equation*}
      \begin{prooftree}
        \hypo{ \qexists \xi \varphi }

        \hypo{ [\varphi]^1 }
        \infer1[\ref{eq:def:first_order_natural_deduction_system/forall/intro}]{ \qforall \xi \varphi }

        \infer[left label=\( 1 \)]2[\ref{eq:def:first_order_natural_deduction_system/exists/elim}]{ \qforall \xi \varphi }
      \end{prooftree}
    \end{equation*}

    This proof relies on \fullref{ex:def:first_order_natural_deduction_system/eigenvariables/invalid_universal_closure}, which we have already demonstrated to be invalid.

    \thmitem{ex:def:first_order_natural_deduction_system/eigenvariables/invalid_existence} Another invalid proof, in case \( \xi \in \boldop{Free}(\varphi) \), is
    \begin{equation*}
      \begin{prooftree}
        \hypo{ \qexists \xi \varphi }

        \hypo{ [\varphi]^1 }
        \infer1{ \varphi }

        \infer[left label=\( 1 \)]2[\ref{eq:def:first_order_natural_deduction_system/exists/elim}]{ \varphi }
      \end{prooftree}
    \end{equation*}

    \thmitem{ex:def:first_order_natural_deduction_system/eigenvariables/universal_implies_existence} On the other hand, \( \qexists \xi \varphi \) can easily be derived from \( \qforall \xi \varphi \):
    \begin{equation*}
      \begin{prooftree}
        \hypo{ \qforall \xi \varphi }
        \infer1[\ref{eq:def:first_order_natural_deduction_system/forall/elim}]{ \varphi = \varphi[\xi \mapsto \xi] }
        \infer1[\ref{eq:def:first_order_natural_deduction_system/exists/intro}]{ \qexists \xi \varphi }
      \end{prooftree}
    \end{equation*}

    \thmitem{ex:def:first_order_natural_deduction_system/eigenvariables/universal_implies_universal} It is also valid to perform the completely meaningless derivation:
    \begin{equation*}
      \begin{prooftree}
        \hypo{ \qforall \xi \varphi }
        \infer1[\ref{eq:def:first_order_natural_deduction_system/forall/elim}]{ \varphi = \varphi[\xi \mapsto \xi] }
        \infer1[\ref{eq:def:first_order_natural_deduction_system/forall/intro}]{ \qforall \xi \varphi }
      \end{prooftree}
    \end{equation*}
  \end{thmenum}
\end{example}

\begin{proposition}\label{thm:syntactic_first_order_quantifiers_are_dual}
  For any formula \( \varphi \) and any variable \( \xi \) over \( \mscrL \), we have the following interderivable pairs:
  \begin{align}
    \neg \qforall \xi \varphi &\T{and} \qexists \xi \neg \varphi \label{thm:syntactic_first_order_quantifiers_are_dual/negation_of_universal} \\
    \neg \qexists \xi \varphi &\T{and} \qforall \xi \neg \varphi \label{thm:syntactic_first_order_quantifiers_are_dual/negation_of_existential}
  \end{align}
\end{proposition}
\begin{proof}
  We will only show \eqref{thm:syntactic_first_order_quantifiers_are_dual/negation_of_universal}. First,

  \begin{equation*}
    \begin{prooftree}
      \hypo{ \neg \qforall \xi \varphi }
      \hypo{ [\qforall \xi \varphi]^1 }
      \infer2[\eqref{eq:def:minimal_propositional_natural_deduction_system/neg/elim}]{ \bot }
      \infer[left label=\( 1 \)]1[\eqref{eq:def:classical_propositional_deductive_systems/rules/dne}]{ \qforall \xi \varphi }
      \infer1[\eqref{eq:def:first_order_natural_deduction_system/forall/elim}]{ \varphi }

      \hypo{ [\neg \varphi]^2 }
      \infer2[\eqref{eq:def:minimal_propositional_natural_deduction_system/neg/elim}]{ \bot }

      \infer[left label=\( 2 \)]1[\eqref{eq:def:minimal_propositional_natural_deduction_system/neg/intro}]{ \neg \varphi }
      \infer1[\eqref{eq:def:first_order_natural_deduction_system/exists/intro}]{ \qexists \xi \neg \varphi }
    \end{prooftree}
  \end{equation*}

  Conversely,
  \begin{equation*}
    \begin{prooftree}
      \hypo{ \qexists \xi \neg \varphi }

      \hypo{ [\qforall \xi \varphi]^1 }
      \infer1[\eqref{eq:def:first_order_natural_deduction_system/forall/elim}]{ \varphi }

      \hypo{ [\neg \varphi]^2 }
      \infer2[\eqref{eq:def:minimal_propositional_natural_deduction_system/neg/elim}]{ \bot }
      \infer[left label=\( 1 \)]1[\eqref{eq:def:minimal_propositional_natural_deduction_system/neg/intro}]{ \neg \qforall \xi \varphi }

      \infer[left label=\( 2 \)]2[\eqref{eq:def:first_order_natural_deduction_system/exists/elim}]{ \neg \qforall \xi \varphi }
    \end{prooftree}
  \end{equation*}
\end{proof}

\begin{theorem}\label{thm:classical_first_order_logic_is_sound_and_complete}\mcite[thm. 20.32 \\ corr. 23.19]{OpenLogicFull}
  The \hyperref[def:first_order_natural_deduction_system]{classical first-order natural deduction system} is \hyperref[def:derivability_and_satisfiability/soundness]{sound} and \hyperref[def:derivability_and_satisfiability/completeness]{complete} with respect to \hyperref[def:first_order_semantics]{classical semantics}.

  The completeness part is known as \enquote{G\"odel's completeness theorem} and requires an elaborate proof.
\end{theorem}


%
% set up May 2013
%
\chapter{SCF Convergence Algorithms}

How to find a set of MO ($\varphi_{1}$, $\varphi_{2}$, $\cdots$ $\varphi_{n}$) which optimize
the energy functional in the self-consistent field calculation? This chapter discuss all kinds
of algorithms and techniques related to this question.

\section{Direct Energy Minimization Method}
%
%
%
The direction energy minimization method\cite{DM_SCF} is an old SCF convergence method. Comparing
with many more advanced algorithms like DIIS etc. it's less efficient, however the theory itself
is instructive and could enlighten other theories like GDM\cite{gdm}.

\subsection{Pseudocanonical Transformation}
\label{pseudocanonical_dm_scf}
%
%
%
The canonical orbitals are the the molecular orbitals which diagonalizes the Fock matrix:
\begin{equation}\label{DM_SCF_eq:1}
 C^{+}FC = I
\end{equation}
where $I$ is a diagonal matrix.
Through the HF equation
\begin{equation}\label{DM_SCF_eq:2}
 FC = SCE
\end{equation}
it's known that the eigenvector $C$ forms the canonical orbitals because the orthogonality
on the MO: $C^{+}SC = I$.

Pseudocanonical orbitals, on the other hand; is to diagonalize the block of Fock matrix
in terms of $F_{oo}$ and $F_{vv}$:
\begin{equation}\label{DM_SCF_eq:3}
 F^{'} =
\begin{pmatrix}
 Q_{1}^{+}  &  0  \\
 0          &  Q_{2}^{+}\\
\end{pmatrix}
\begin{pmatrix}
 F_{oo}  &  F_{ov}  \\
 F_{vo}  &  F_{vv}  \\
\end{pmatrix}
\begin{pmatrix}
 Q_{1}    &  0  \\
 0        &  Q_{2}\\
\end{pmatrix}
\end{equation}
Because the Fock matrix is symmetric, $F_{ov} = F_{vo}^{+}$ hence it has:
\begin{equation}\label{DM_SCF_eq:4}
 F^{'} =
 \begin{pmatrix}
 \epsilon_{1}    &  A^{+}    \\
 A               &  \epsilon_{2}\\
\end{pmatrix}
\end{equation}
where $A = Q_{2}^{+}F_{vo}Q_{1}$, $\epsilon_{1} = Q_{1}^{+}F_{oo}Q_{1}$ etc.
$Q_{1}$ and $Q_{2}$ are pseudocanonical orbitals, on the other hand; they
also form pseudocanonical transformation to the Fock matrix.

The pseudocanonical transformation on MO is given as:
\begin{equation}\label{DM_SCF_eq:100}
 \begin{pmatrix}
  c_{1} & c_{2} & \cdots  & c_{n}
 \end{pmatrix}
=
 \begin{pmatrix}
  c_{1} & c_{2} & \cdots  & c_{n}
 \end{pmatrix}
\begin{pmatrix}
 Q_{1}    &  0  \\
 0        &  Q_{2}\\
\end{pmatrix}
\end{equation}
The transformation here, is between oo and vv blocks itself. Therefore it expects
that the transformation will not change the energy.

How to evaluate the pseudocanonical orbitals? As iteratively solving the Fock
matrix when the result MO is getting close to the minimum one, it could be
well expected that the block $A$ should become very small and the $\epsilon_{1}$
and $\epsilon_{2}$ blocks should approach to the final MO energy. Therefore,
the block $A$ could be used as reference to guide the SCF convergence process.
This is the starting point for direct energy minimization method.

\subsection{Direct Minimization Method}
%
%
%
The direct minimization method starts with the pseudocanonical form of
Fock matrix:
\begin{equation}\label{DM_SCF_eq:5}
 F^{'} =
 \begin{pmatrix}
 \epsilon_{1}    &  0    \\
 0               &  \epsilon_{2}\\
\end{pmatrix}
+
 \begin{pmatrix}
 0    &  A^{+}    \\
 A    &  0        \\
\end{pmatrix}
\end{equation}

If we add additional $\lambda$ to the $F^{'}$ so that
\begin{equation}\label{DM_SCF_eq:6}
 F^{'}(\lambda) =
 \begin{pmatrix}
 \epsilon_{1}    &  0    \\
 0               &  \epsilon_{2}\\
\end{pmatrix}
+ \lambda
 \begin{pmatrix}
 0    &  A^{+}    \\
 A    &  0        \\
\end{pmatrix}
\end{equation}
as $\lambda = 0$ $F^{'}(\lambda)$ drops the occupy-virtual blocks, and $\lambda = 1$
makes $F^{'}(\lambda)$ become $F$ with pseudocanonical transformation. From the discussion
in \ref{pseudocanonical_dm_scf}, the SCF convergence procedure could be viewed as a process
to reduce the occupy-virtual block of $A$. Therefore it's able to view the $A$ as some
perturbation to the MO, so that we are able to construct some unitary transformation matrix
based on $A$. Suggest that the perturbed MO can be expressed as:
\begin{equation}\label{DM_SCF_eq:7}
 \psi_{i}^{'} = \psi_{i}^{p} + \sum^{vir}_{a}\psi_{a}^{p}D_{ai}
\end{equation}
The superscript ``p'' on the MO means that these orbitals are with pseudocanonical transformation.
Because the pseudocanonical transformation does not alter the energy, it's possible to choose
the MO set with pseudocanonical transformation. The reason to choose such specific set will
be unveiled in the later content. We use $a$, $b$, $c$ etc. to express the virtual orbitals,
and $i$, $j$, $k$ etc. to express the occupied orbitals. $D_{ai}$ denotes the perturbation
coefficients for the occupied orbitals when the virtual ones is involved. Next we need to
know how to choose the form of $D_{ai}$.

In considering the perturbation theory, the $D_{ai}$ is suggested to be:
\begin{equation}\label{DM_SCF_eq:8}
 D_{ai} = -\lambda A_{ai}(\epsilon_{a} - \epsilon_{i})^{-1}
\end{equation}
Therefore the perturbation to the MO is fixed. Considering the total energy expression for
SCF:
\begin{align}\label{DM_SCF_eq:9}
 E &= \sum_{i}\langle\psi_{i}^{'}|H_{0}|\psi_{i}^{'}\rangle
    + \frac{1}{2}\sum_{i}\sum_{j}
\biggl(\langle\psi_{i}^{'}(1)\psi_{i}^{'}(1)|1/r_{12}|\psi_{j}^{'}(2)\psi_{j}^{'}(2)\rangle
\nonumber \\
   &-
       \langle\psi_{i}^{'}(1)\psi_{j}^{'}(1)|1/r_{12}|\psi_{i}^{'}(2)\psi_{j}^{'}(2)\rangle\biggr)
\end{align}

If bringing the \ref{DM_SCF_eq:7} and \ref{DM_SCF_eq:8} into the \ref{DM_SCF_eq:9} and only
taking the first order perturbation term; then it's able to see that the energy change is:
\begin{equation}\label{DM_SCF_eq:10}
 \delta E = \sum_{i}^{occ}\sum_{a}^{vir}(A_{ai}^{*}D_{ai} + D_{ai}^{*}A_{ai})
\end{equation}
This is the expression 30 in the paper \cite{DM_SCF}. By taking the $D$ as real number,
the first order energy change is:
\begin{align}\label{DM_SCF_eq:11}
 \delta E &= 2\sum_{i}^{occ}\sum_{a}^{vir}A_{ai}D_{ai} \rightarrow     \nonumber \\
  \frac{d \delta E}{d \lambda}  &=
  -2\sum_{i}^{occ}\sum_{a}A^{2}_{ai}(\epsilon_{a} - \epsilon_{i})^{-1}
\end{align}
The derivatives is always negative, therefore it grantees that when searching the MO change
in terms of minimum of $\lambda$, the energy is going down. The \ref{DM_SCF_eq:11} also
explains that why we starts from the MO with pseudocanonical transformation (so that $A_{ai}$
appears as square).

In practical application, paper \cite{DM_SCF} suggests a more general form considering $D_{ai}$:
\begin{equation}\label{DM_SCF_eq:12}
 D_{ai} = -\lambda A_{ai}(\epsilon_{a} - \epsilon_{i})^{-1}
 (\epsilon_{a} - \epsilon_{i})^{q}/\vartriangle^{q}
\end{equation}
where
\begin{equation}\label{DM_SCF_eq:13}
 \vartriangle^{q} = (M(N-M))^{-1}\sum^{occ}_{i}\sum^{vir}_{a}(\epsilon_{a} - \epsilon_{i})^{q}
\end{equation}
$M$ is the number of occupied orbitals and $N-M$ is the number of virtual orbitals.
$\vartriangle^{q}$ is used as weighted mean energy difference so that to make $D_{ai}$
as in same dimension as $A_{ai}$ in the form of \ref{DM_SCF_eq:12}. The value of $q$
is chosen to optimize the SCF convergence.

By setting the value of $q$, it's able to derive the perturbation of $D_{ai}$ in expression
\ref{DM_SCF_eq:12} as a function of $\lambda$. Then in turn it's able to derive the total
energy $E(\lambda)$ so that by differentiating:
\begin{equation}
 \frac{\partial  E(\lambda)}{\partial \lambda} = 0
\end{equation}
it's able to derive the $\lambda_{min}$ and then fix the perturbation $D_{ai}$.

The expression for \ref{DM_SCF_eq:7} and \ref{DM_SCF_eq:8} are in fact general. It's able to
define $D_{ai}$ independent of $A_{ai}$, and make it into generalized form:
\begin{equation}\label{DM_SCF_eq:14}
 D_{ai} = \alpha_{ai}X_{ai}
\end{equation}
$X$ represents some general coordinate system(based on $i$ and $a$) and $\alpha$ is corresponding
coefficients.

The direct minimization method right now is rarely used in popular modern quantum chemistry
package. From the derivation of the theory, it could be expected that it's only when $A$ is
very small in \ref{DM_SCF_eq:4}, that the perturbation could be well performed. Therefore
the method may only be well applied to when SCF process is close to minimum. On the other
hand, the convergence is not as efficient as DIIS method etc. However, the derivation here
may serve to enlighten the following algorithms which is constructed based on direct
minimization method.

\section{Geometric Direct Minimization Method}
%
%
%
The GDM(Geometric Direct Minimization) method is described in paper \cite{gdm,gdm_fock}. The more
fundamental base for GDM method comes from the geometric study of matrix under orthogonal
constraint\cite{doi:10.1137/S0895479895290954}.

\subsection{SCF Optimization Based on Unitary Transformation}
%
%
%
For the self consistent field function(Hatree-Fock-Roothaan equation):
\begin{equation}\label{gdm_eq:1}
 FC = SCE
\end{equation}
suggest we have an initial set of mo $C_{0}$, by doing unitary transformation $U$
\begin{equation}\label{gdm_eq:2}
 C^{'} = C_{0}U
\end{equation}
where $U^{+}U = I$; it's able to derive a new set of mo and iteratively it's able to derive
the result mo which minimizes the energy functional. The transformation of $U$ is unitary
because the mo needs to maintain $C^{+}SC=I$ for any set of mo. Therefore, suggest $C^{'}$
is the result mo, it can be expressed as:
\begin{equation}\label{gdm_eq:3}
 C^{'} = C_{0}U_{0}U_{1}U_{2}\cdots
\end{equation}

Can we do energy minimization with respect to $U$? In this sense, the $E(U)$ will be a
stationary point in terms of $U$. In maintaining the unitary property of $U$, it's able
to define a Lagrangian:
\begin{equation}\label{gdm_eq:4}
 L(U) = E(U) - Tr[\epsilon\cdot (U^{+}U-I)]
\end{equation}
and the stationary equation is given as(see \cite{doi:10.1137/S0895479895290954}):
\begin{align}\label{gdm_eq:5}
 \frac{\partial L(U)}{\partial U} &= 0 \rightarrow   \nonumber \\
 \frac{\partial E(U)}{\partial U} & = F(U) = \epsilon U^{+}
\end{align}
$F$ is just the Fock matrix. Therefore, the \ref{gdm_eq:5} shows how to derive the matrix
of $U$.

It's well known that in DFT and HF the energy is invariant if the occupied orbitals space
does not change. In other words, the energy does not depend on the occupied orbitals
but on the space that the occupied orbitals span. Therefore, if the $U$ is expressed as:
\begin{equation}
 U =
 \begin{pmatrix}
 U_{oo}  &  0  \\
 0       &  U_{vv} \\
 \end{pmatrix}
\end{equation}
it's easy to know that the energy is not going to change. Based on this fact, the matrix
$U$ can be decomposed into two parts:
\begin{equation}
  H =
 \begin{pmatrix}
 H_{oo}  &  0  \\
 0       &  H_{vv} \\
 \end{pmatrix}
\end{equation}
where it does not alter the energy, and
\begin{equation}
  V =
 \begin{pmatrix}
 0        &  V_{ov}  \\
 V_{vo}   &  0       \\
 \end{pmatrix}
\end{equation}
where it changes the energy.

If an infinitesimal change $U \rightarrow U + \delta U$ is applied then through the
unitary requirement the $\delta U$ satisfies
\begin{equation}
 U^{+}\delta U + \delta U^{+} U = 0
\end{equation}
If we set $U = I$ then it has:
\begin{equation}\label{gdm_eq:6}
 \delta U =-\delta U^{+}
\end{equation}
this implies that V is skew-symmetric:
\begin{equation}\label{gdm_eq:7}
  V =
 \begin{pmatrix}
 0            &  V_{ov}  \\
-V^{+}_{vo}   &  0       \\
 \end{pmatrix}
\end{equation}

In the constraint of $U^{+}U=1$, by a curve path of $U_{0}$, $U_{1}$, $\cdots$
we may able to form the mo which is minimizing the SCF energy functional. However,
what is the form of $U$ that may perform the job? According to the
\cite{doi:10.1137/S0895479895290954} the $U$ can be suggested as:
\begin{equation}\label{gdm_eq:8}
 U = e^{V}
\end{equation}
Based on the expansion below
\begin{equation}\label{gdm_eq:9}
 e^{V} = 1 + \frac{V}{1!} + \frac{V^{2}}{2!} + \cdots
\end{equation}
it's able to expand the \ref{gdm_eq:8}:
\begin{equation}\label{gdm_eq:10}
 U(V) =
 \begin{pmatrix}
  \cos X^{1/2}  & X^{-1/2} \sin X^{1/2} V_{ov} \\
  V_{vo}X^{-1/2} \sin X^{1/2}  & \cos Y^{1/2}  \\
 \end{pmatrix}
\end{equation}
where $X = V_{ov}V_{vo}$ and $Y = V_{vo}V_{ov}$. We note that the \ref{gdm_eq:10}
give the expression of $\dfrac{d U(V)}{d V}$.

where $\gamma$ is the variable used to optimize the SCF energy functional. Therefore,
as initial step the SCF optimization could be suggested as:
\begin{itemize}
 \item get the initial orthogonal mo $C_{0}$;
 \item know the form of $V$;
 \item minimize the $\gamma$ in form of \ref{gdm_eq:8} in the energy functional
 \ref{gdm_eq:4}, suggest the result $\gamma$ value is $\gamma^{'}$;
 \item derive the new set of mo $C_{1} = C_{0}e^{\gamma_{0} V}$ until the energy
 is minimized
\end{itemize}
In the above suggested routine, the final mo could be expressed as:
\begin{equation}
 C = C_{0}e^{\gamma \vartriangle_{1}}e^{\gamma \vartriangle_{2}}\cdots
\end{equation}

So far there are several things missing in the general discussion:
\begin{itemize}
 \item we do not know how to compute the matrix $V$
 \item how to include the matrix $H$ in the process?
\end{itemize}

\subsection{Towards A Solid GDM minimizer}
%
%
%

\section{DIIS Method}
%
%
%
\subsection{General Idea about DIIS Method}
%
%
%
DIIS method(direct inversion in the iterative subspace or direct inversion of the iterative subspace)
\cite{Pulay1980393, JCC:JCC540030413} starts from the Newton-Raphson method. This method is used to
speed up the optimization procedure used in SCF process and geometry optimization process in quantum
chemistry. In these practical applications, it's usually hard to get the exact Hessian in the
equation \ref{Newton-Raphson_eq:9}. Therefore, the question we have here is that how can we use an
approximated Hessian matrix to perform Newton-Raphson optimization procedure?

Suggest that we use an approximated Hessian matrix $H_{0}$, according to equation
\ref{Newton-Raphson_eq:9}, the approximation solution based on a guess vector $\mathbf{p_{n-1}}$
could be expressed as:
\begin{equation}
\label{DIIS_eq:1}
 \mathbf{p_{n}} = \mathbf{p_{n-1}} - H_{0}^{-1}G
\end{equation}
Here $G$ is the gradient vector for $\dfrac{\partial E}{\partial \mathbf{p_{n-1}}}$ and
$H_{0}$ characterizes its second derivatives matrix.

Suggest that if we have the accurate Hessian matrix, we could express the $G$ as:
\begin{equation}
\label{DIIS_eq:2}
 G = H(\mathbf{p_{n-1}} - \mathbf{p}^{final})
\end{equation}
Where $\mathbf{p}^{final}$ corresponds to the exact solution for equation, which is
$\dfrac{\partial E}{\partial p_{i}} = 0$, $i = 1, 2, \cdots$.
Therefore, let's bring the \ref{DIIS_eq:2} into \ref{DIIS_eq:1} we can have:
\begin{equation}
 \label{DIIS_eq:3}
 \mathbf{p_{n}} = \mathbf{p}^{final} + (1-H_{0}^{-1}H)(\mathbf{p_{n-1}} - \mathbf{p}^{final})
\end{equation}

Now let's try to modify the \ref{DIIS_eq:3}:
\begin{align}
 \label{DIIS_eq:4}
 \mathbf{p_{n}} - \mathbf{p_{n-1}} &= \mathbf{p}^{final} - \mathbf{p_{n-1}} +
 (1-H_{0}^{-1}H)(\mathbf{p_{n-1}} - \mathbf{p}^{final}) \nonumber \\
 &= (\mathbf{p}^{final} - \mathbf{p_{n-1}})(1-(1-H_{0}^{-1}H)) \nonumber \\
 &= (\mathbf{p}^{final} - \mathbf{p_{n-1}})H_{0}^{-1}H
\end{align}
The expression of \ref{DIIS_eq:4} has an important meaning. It indicates that
if the RHS of \ref{DIIS_eq:4} approaches to zero, since
the term of $H_{0}^{-1}H$ is never zero, then the $\mathbf{p}^{final} - \mathbf{p_{n-1}}$
is zero - which means, we get to the exact solution of the whole equation!
Therefore, the difference between $\mathbf{p_{n}} - \mathbf{p_{n-1}}$ characterizes the
measure for the convergence of the solution, if it's converged; then we get the final
real solution. We name the difference between
$\mathbf{p_{n}}$ and $\mathbf{p_{n-1}}$ as residual vector: $\triangle \mathbf{p_{n}}$, which
should be the norm between the two vectors.

Based on this point, we can suggest an expression that the solution vectors
of $\mathbf{p}$ is expressed as a linear combination of its previous iterative
vectors:
\begin{equation}
 \label{DIIS_eq:5}
 \mathbf{p_{n}} = \sum_{i}c_{i}\mathbf{p_{i}}
\end{equation}
Therefore, the question here is to how can we generate the coefficients of
$c_{i}$ so that the $\mathbf{p_{n}}$ could converge to final solution.

First of all, we can see that the $c_{i}$ is actually required to meet some
restrictions. That is
\begin{equation}
 \label{DIIS_eq:6}
 \sum_{i}c_{i} = 1
\end{equation}
Why we have that? Suggest the final solution is $\mathbf{p}^{final}$,
and we can express each of approximated solution $\mathbf{p_{i}}$ as:
\begin{equation}
 \mathbf{p_{i}} = \mathbf{p}^{final} + \mathbf{e}_{i}
\end{equation}
where $e_{i}$ is the error estimation.Then we have:
\begin{align}
\label{DIIS_eq:7}
 \mathbf{p_{n}} &= \sum_{i}c_{i}(\mathbf{p}^{final} + \mathbf{e}_{i}) \nonumber \\
 &= \mathbf{p}^{final}\sum_{i}c_{i} + \sum_{i}c_{i}\mathbf{e}_{i}
\end{align}
If we have the requirement shown in \ref{DIIS_eq:6}, then as the errors of $\mathbf{e}_{i}$
goes to zero, then in the above equation we have $\mathbf{p_{n}} = \mathbf{p}^{final}$.

Next, how can we evaluate these $c_{i}$ in \ref{DIIS_eq:5}? According to the result
shown in \ref{DIIS_eq:4}, the residual vector of $\triangle \mathbf{p_{n}}$ characterizes
the convergence of approximated solutions towards the exact solution, therefore it's
natral to imagine that if all of the $\triangle \mathbf{p_{i}}$ ($i=1,2,\cdots$) are small
enough, then the result $c_{i}$ must be the best approximation. Such idea is similar to the
least square problem. Therefore we have:
\begin{equation}
\label{DIIS_eq:8}
 \triangle \mathbf{P} = \sum_{i}c_{i}\triangle \mathbf{p_{i}}
 \Rightarrow \min(\triangle \mathbf{P})
\end{equation}

For evaluating the minimum of $\triangle \mathbf{P}$, we can construct some Lagrangian:
\begin{align}
 \label{DIIS_eq:9}
 L &= \langle \triangle \mathbf{P} |\triangle \mathbf{P} \rangle -
 \lambda(1-\sum_{i}c_{i}) \nonumber \\
   &= \sum_{i}\sum_{j}c_{i}c_{j}\langle\triangle \mathbf{p_{i}}|\triangle\mathbf{p_{j}}\rangle -
   \lambda(1-\sum_{i}c_{i})
\end{align}

By requiring that $\dfrac{\partial L}{\partial c_{i}} = 0$ ($i = 1, 2, \cdots$)
as well as $\dfrac{\partial L}{\partial \lambda} = 0$ we can have:
\begin{align}
 \frac{\partial L}{\partial c_{i}} &=
 2\sum_{j}c_{j}\langle\triangle \mathbf{p_{i}}|\triangle\mathbf{p_{j}}\rangle - \lambda
 = \sum_{j}c_{j}\langle\triangle \mathbf{p_{i}}|\triangle\mathbf{p_{j}}\rangle - \frac{\lambda}{2}
 \nonumber \\
 \frac{\partial L}{\partial \lambda} &=
 1-\sum_{i}c_{i}
\end{align}
We note that the factor of 2 is absorbed into the $\lambda$ in above equation.

By applying the above derivation into the \ref{DIIS_eq:9}, then we can have the following
linear equation:
\begin{align}
 \label{DIIS_eq:10}
 &\begin{bmatrix}
  \langle\triangle \mathbf{p_{1}}|\triangle\mathbf{p_{1}}\rangle  &
  \langle\triangle \mathbf{p_{1}}|\triangle\mathbf{p_{2}}\rangle  &
  \cdots                                                          &
  \langle\triangle \mathbf{p_{1}}|\triangle\mathbf{p_{m}}\rangle  &
   -1                                                             \\
  \langle\triangle \mathbf{p_{2}}|\triangle\mathbf{p_{1}}\rangle  &
  \langle\triangle \mathbf{p_{2}}|\triangle\mathbf{p_{2}}\rangle  &
  \cdots                                                          &
  \langle\triangle \mathbf{p_{2}}|\triangle\mathbf{p_{m}}\rangle  &
   -1                                                             \\
  \cdots                                                          &
  \cdots                                                          &
  \cdots                                                          &
  \cdots                                                          &
  \cdots                                                          \\
  \langle\triangle \mathbf{p_{m}}|\triangle\mathbf{p_{1}}\rangle  &
  \langle\triangle \mathbf{p_{m}}|\triangle\mathbf{p_{2}}\rangle  &
  \cdots                                                          &
  \langle\triangle \mathbf{p_{m}}|\triangle\mathbf{p_{m}}\rangle  &
  -1                                                             \\
  -1                                                              &
  -1                                                              &
  \cdots                                                          &
  -1                                                              &
   0                                                             \\
 \end{bmatrix}
 \begin{bmatrix}
  c_{1}  \\
  c_{2}  \\
  \vdots \\
  c_{m}  \\
  \lambda\\
 \end{bmatrix}
&=  \begin{bmatrix}
   0  \\
   0  \\
  \vdots \\
   0  \\
   1  \\
 \end{bmatrix}
\end{align}
The final DIIS step is to obtain a solution to the above linear equation, then
we know how to form the new vector of $\mathbf{p}$.

Physically, in DIIS procedure the most important expression is the \ref{DIIS_eq:8}.
This expression explains how we can get the coefficients of $c_{i}$. Furthermore,
we note that this expression is not unique. We can have multiple way to create the
residual vectors of $\triangle \mathbf{p}$ so that to have better convergence for the
optimization process.

Another thing to note is that the matrix in \ref{DIIS_eq:10} could be singular when
the optimization process is near to the convergence. For example, if the last two
error vectors of $\triangle \mathbf{p_{m}}$ and $\triangle \mathbf{p_{m-1}}$ are
nearly same, then their corresponding column and rows would be nearly same - causing
the matrix to be singular.

At last, it is interesting to note that DIIS procedure has been mathematically analyzed.
It's shown that DIIS procedure is equivalent to the quasi-Newton/Secant method
\cite{rohwedder2011analysis}.

\subsection{DIIS in SCF Procedure}
%
%
The key in the DIIS procedure, is to find a proper expression of the error vectors
defined in \ref{DIIS_eq:8}. In paper ~\cite{JCC:JCC540030413} Pulay suggest to use
the difference below:
\begin{equation}
 \label{DIIS_SCF_eq:1}
 \triangle \mathbf{p} = FPS - SPF
\end{equation}
to represent the errors in SCF convergence. We note, that it coincides our expression
in \ref{HF_density_matrix:eq:5} that the converged density matrix is able to commute with
Fock matrix in MO manner.

How to perform the DIIS procedure in SCF cycles? Generally it could be divided into the
following steps:
\begin{enumerate}
 \item Building density matrices $P$ and overlap matrix $S$;
 \item Building Fock matrices according to the number of spin states;
 \item Construct error vectors $e$ for each spin state according to \ref{DIIS_SCF_eq:1};
 \item Transform the error vectors into form of $S^{-\frac{1}{2}}eS^{-\frac{1}{2}}$ so that
 to make it orthogonal;
 \item Estimate the maximum error and root mean square error and compare it with the criteria
 to see whether the convergence has been achieved;
 \item Extrapolate the error matrix defined in \ref{DIIS_eq:10}, we note that it's only the
 last column/row we need to re-compute, and the new elements are set to be $ E_{ij} =
 \langle e_{i}|e_{j}\rangle$;
 \item Solve the error matrix and get the coefficients of $c_{i}$;
 \item Construct the new Fock matrix based on the expression of \ref{DIIS_eq:5}, where the
 vector of $\mathbf{p}$ is actually the previous Fock matrix.
\end{enumerate}


\pagebreak
\subsection{Power System}

\subsubsection{Power System Requirements}
\begin{centering}
The Gondola provided a 28.8 V, 374 Wh or 13 Ah battery with a recommended maximum continuous current draw of 1.8 A . However, more typical values which were given were 196 Wh or 7 Ah \cite{BexusManual}.The experiment should have been able to run on (gondola) battery for more than two hours before launch during the countdown phase and for the entire flight duration, lasting approximately four hours. As a factor of safety, in case of unexpected delays, the experiment was able to run for an additional four hours. Therefore the experiment could be able to run on (gondala) power for a total of 10 hours. For this reason, all the calculations were done using a 10 hour total time \cite{BexusManual}.
\end{centering}

\input{4-experiment-design/tables/powertable.tex}

The total power consumption 181 Wh, Table \ref{tab:power-design-table}, was within the limits of the available power. Other calculations for the average, peak, and minimum power values were 24 W, 38 W, and 16 W respectively. In addition the different expected current consumption for the average, peak, and minimum values were 0.64 A, 1.1 A, and 0.22 A respectively.

The 24 V DC-DC converters had 2.5 A output current and 60 W output power with the efficiency of 93\%. This fulfilled the peak requirements for both power and current. Moreover, the dissipated power and current across the DC-DCs were calculated as 12.69 Wh and 45 mA respectively and have been added to the total power budget.

\raggedbottom