
\documentclass[finalversion]{FPSAC2021}
\articlenumber{39}
\usepackage{amsmath,amssymb,amsthm,tikz,tikz-cd,color,xcolor,mathdots,amscd}
\usepackage[centertableaux,boxsize=1.2em]{ytableau}
\usepackage[all]{xy}
\usepackage{placeins}
\usetikzlibrary{shapes,arrows,svg.path}
%\usepackage{booktabs,cite}
\usepackage{booktabs}

%\usepackage{hyperref}
%\usepackage[colorlinks=true, pdfstartview=FitV, linkcolor=blue, citecolor=blue, urlcolor=blue]{hyperref}	

% use these commands for typesetting doi and arXiv references in the bibliography
%\newcommand{\doi}[1]{\href{https://doi.org/#1}{\texttt{doi:#1}}}
\newcommand{\arxiv}[1]{\href{https://arxiv.org/abs/#1}{\texttt{arXiv:#1}}}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{conjecture}[theorem]{Conjecture}
\newtheorem{assumption}[theorem]{Assumption}
\newtheorem{circling}[theorem]{Circling Rule}
\theoremstyle{definition}
\newtheorem{definition}[theorem]{Definition}
\theoremstyle{remark}
\newtheorem{remark}[theorem]{Remark}
\newtheorem{example}[theorem]{Example}
\numberwithin{equation}{section}

\newcommand{\red}{\color{red}}
\newcommand{\blue}{\color{blue}}
\newcommand{\green}{\color{darkgreen}}
\definecolor{darkgreen}{RGB}{0,180,0}

% Dark red emphasis
\definecolor{darkred}{rgb}{0.7,0,0} % darkred color
\newcommand{\defn}[1]{{\color{darkred}\emph{#1}}} % emphasis of a definition 

% Some other colors
\definecolor{UQgold}{RGB}{196, 158, 54} % UQ gold
\definecolor{UQpurple}{RGB}{73, 7, 94} % UQ purple

\newcommand{\ZZ}{\mathbb{Z}}
\newcommand{\QQ}{\mathbb{Q}}
\newcommand{\RR}{\mathbb{R}}
\newcommand{\CC}{\mathbb{C}}
\newcommand{\cc}{\mathbf{c}}
\newcommand{\xx}{\mathbf{x}}
\newcommand{\yy}{\mathbf{y}}
\newcommand{\zz}{\mathbf{z}}
\newcommand{\fP}{\mathfrak{P}}
\newcommand{\bbb}{\mathsf{b}}

\newcommand{\iso}{\cong}
\newcommand{\sgn}{\operatorname{sgn}}
\newcommand{\fsl}{\mathfrak{sl}}
\newcommand{\sym}[1]{S_{#1}}  % The symmetric group
\newcommand{\states}{\mathfrak{S}}  % The states of the model
\newcommand{\Gstates}{\mathfrak{G}}  % The states of the double Grothendieck model
\newcommand{\Dstates}{\mathfrak{D}}  % The states of the semidual model
\newcommand{\model}{\mathcal{M}}  % A generic model
\newcommand{\G}{G}  % (double) Grothendieck polynomial
\newcommand{\fG}{\mathcal{F}G}  % flagged (double) Grothendieck polynomial

\newcommand{\wt}{\operatorname{wt}}  % weight
\newcommand{\abs}[1]{\lvert #1 \rvert}
\newcommand{\GL}{\operatorname{GL}}
\newcommand{\ssyt}{\operatorname{SSYT}}  % Semistandard Young tableaux
\newcommand{\svt}{\operatorname{SVT}}  % Set-valued tableaux
\newcommand{\eyd}{\operatorname{EYD}}  % Excited Young diagrams
\newcommand{\excess}{\operatorname{ex}}  % excess
\newcommand{\stab}{\operatorname{Stab}}  % Stabilizer
\newcommand{\Gr}{\operatorname{Gr}}  % Grassmannian
\newcommand{\End}{\operatorname{End}}  % End space
\newcommand{\Sch}{\operatorname{Sch}}
\newcommand{\GTP}{\operatorname{GTP}}
\newcommand{\bzl}{\operatorname{string}}
\newcommand{\Pind}{\Pi_{\operatorname{nd}}}
\newcommand{\key}{\operatorname{\bold{key}}}
\newcommand{\Kdd}{\mathfrak{d}}%{\widetilde{\partial}}  % K-theoretic divided difference operator
\newcommand{\asl}{\widehat{\mathfrak{sl}}}  % affine sl

\hyphenpenalty=5000
\tolerance=1000




\newcommand{\gammaice}[4]{\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw (a)--(c);
\draw (b)--(d);
\draw[fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$#1$};
\node at (b) {$#2$};
\node at (c) {$#3$};
\node at (d) {$#4$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture}}


\newcommand{\gammaa}{\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw (a)--(c);
\draw (b)--(d);
\draw[fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$+$};
\node at (b) {$+$};
\node at (c) {$+$};
\node at (d) {$+$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x_i$};
\end{tikzpicture}}

\newcommand{\gammaA}[4]{\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw[line width=0.5mm, #1] (a)--(0,0);
\draw[line width=0.6mm, #2] (b)--(0,0);
\draw[line width=0.5mm, #3] (c)--(0,0);
\draw[line width=0.6mm, #4] (d)--(0,0);
\draw[line width=0.5mm, #1,fill=white] (a) circle (.25);
\draw[line width=0.5mm, #2,fill=white] (b) circle (.25);
\draw[line width=0.5mm, #3,fill=white] (c) circle (.25);
\draw[line width=0.5mm, #4,fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$-$};
\node at (b) {$-$};
\node at (c) {$-$};
\node at (d) {$-$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x_i$};
\end{tikzpicture}}

\newcommand{\gammaAA}[2]{\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw (a)--(c);
\draw (b)--(d);
\draw[line width=0.5mm, #1,fill=white] (a) circle (.25);
\draw[line width=0.5mm, #2,fill=white] (b) circle (.25);
\draw[line width=0.5mm, #2,fill=white] (c) circle (.25);
\draw[line width=0.5mm, #1,fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$-$};
\node at (b) {$-$};
\node at (c) {$-$};
\node at (d) {$-$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x_i$};
\draw [line width=0.5mm,#1] (-.5,0) to [out=0,in=90] (0,-.5);
\draw [line width=0.5mm,#2] (0,.5) to [out=-90,in=180] (.5,0);
\end{tikzpicture}}

\newcommand{\gammab}[1]{\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw (a)--(c);
\draw [line width=0.6mm, #1] (b)--(d);
\draw[fill=white] (a) circle (.25);
\draw[line width=0.5mm, #1, fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[line width=0.5mm, #1, fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$+$};
\node at (b) {$-$};
\node at (c) {$+$};
\node at (d) {$-$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x_i$};
\end{tikzpicture}}

\newcommand{\gammaB}[1]{\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw [line width=0.5mm,#1] (a)--(c);
\draw (b)--(d);
\draw[line width=0.5mm, #1, fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[line width=0.5mm, #1, fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$-$};
\node at (b) {$+$};
\node at (c) {$-$};
\node at (d) {$+$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x_i$};
\end{tikzpicture}}

\newcommand{\gammac}[1]{\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw (a)--(c);
\draw (b)--(d);
\draw[line width=0.5mm, #1, fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[line width=0.5mm, #1, fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$-$};
\node at (b) {$+$};
\node at (c) {$+$};
\node at (d) {$-$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x_i$};
\draw [line width=0.5mm,#1] (-.5,0) to [out=0,in=90] (0,-.5);
\end{tikzpicture}}

\newcommand{\gammaC}[1]{\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw (a)--(c);
\draw (b)--(d);
\draw[fill=white] (a) circle (.25);
\draw[line width=0.5mm, #1, fill=white] (b) circle (.25);
\draw[line width=0.5mm, #1, fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$+$};
\node at (b) {$-$};
\node at (c) {$-$};
\node at (d) {$+$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x_i$};
\draw [line width=0.5mm,#1] (0,.5) to [out=-90,in=180] (.5,0);
\end{tikzpicture}}


%% For typesetting code listings
\usepackage{listings}
\lstdefinelanguage{Sage}[]{Python}
{morekeywords={False,sage,True},sensitive=true}
\lstset{
  frame=single,
  showtabs=False,
  showspaces=False,
  showstringspaces=False,
  commentstyle={\ttfamily\color{dgreencolor}},
  keywordstyle={\ttfamily\color{dbluecolor}\bfseries},
  stringstyle={\ttfamily\color{dgraycolor}\bfseries},
  language=Sage,
  basicstyle={\footnotesize\ttfamily},
  aboveskip=0.75em,
  belowskip=0.75em,
  xleftmargin=.15in,
}
\definecolor{dblackcolor}{rgb}{0.0,0.0,0.0}
\definecolor{dbluecolor}{rgb}{0.01,0.02,0.7}
\definecolor{dgreencolor}{rgb}{0.2,0.4,0.0}
\definecolor{dgraycolor}{rgb}{0.30,0.3,0.30}
\newcommand{\dblue}{\color{dbluecolor}\bf}
\newcommand{\dred}{\color{dredcolor}\bf}
\newcommand{\dblack}{\color{dblackcolor}\bf}

\usepackage[colorinlistoftodos]{todonotes}
\newcommand{\travis}[1]{\todo[size=\tiny,color=blue!30]{#1 \\ \hfill --- Travis}}
\newcommand{\Travis}[1]{\todo[size=\tiny,inline,color=blue!30]{#1
      \\ \hfill --- Travis}}
\newcommand{\valentin}[1]{\todo[size=\tiny,color=yellow!70]{#1 \\ \hfill --- Valentin}}
\newcommand{\Valentin}[1]{\todo[size=\tiny,inline,color=yellow!70]{#1
      \\ \hfill --- Valentin}}


\title{Double Grothendieck polynomials and colored lattice models}

\author[V.~Buciumas and T.~Scrimshaw]{Valentin Buciumas\thanks{\href{mailto:valentin.buciumas@gmail.com}{valentin.buciumas@gmail.com}. V.B.~was supported by the Australian Research Council DP180103150.}\addressmark{1} \and Travis Scrimshaw\thanks{\href{mailto:tcscrims@gmail.com}{tcscrims@gmail.com}.}\addressmark{1}}

%% then use \addressmark to match authors to institutions here
\address{\addressmark{1}School of Mathematics and Physics, The University of Queensland, St.\ Lucia, QLD 4072, Australia}


%\urladdr{https://sites.google.com/site/motegikohei/home}
%\urladdr{https://people.smp.uq.edu.au/TravisScrimshaw/}


%% put the date of submission here
\received{\today}

%% leave this blank until submitting a revised version
%\revised{}

%% put your English abstract here, or comment this out if you don't have one yet
%% please don't use custom commands in your abstract / resume, as these will be displayed online
%% likewise for citations -- please don't use \cite, and instead write out your citation as something like (author year)
\abstract{
We construct an integrable colored vertex model whose partition function is a double Grothendieck polynomial and relate it to bumpless pipe dreams. This gives a new proof of recent results of Weigandt.
For vexillary permutations, we then construct a new model that we call the semidual version model.
We use our semidual model and the five-vertex model of Motegi and Sakai to give a new proof that double Grothendieck polynomials for vexillary permutations are equal to flagged factorial Grothendieck polynomials.
We then obtain a new proof that the stable limit is a factorial Grothendieck polynomial as defined by McNamara.
The states of our semidual model naturally correspond to families of nonintersecting lattice paths, where we can then use the Lindstr\"om--Gessel--Viennot lemma to give a determinant formula for double Schubert polynomials corresponding to vexillary permutations.
}


%% put your keywords here, or comment this out if you don't have them yet
\keywords{Grothendieck polynomial, colored lattice model, vexillary permutation}
%\subjclass[2010]{05E05, 82B23, 14M15, 05A19}

\usepackage[backend=bibtex]{biblatex}
\addbibresource{39Buciumas.bib}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\maketitle

\section{Introduction}
\label{sec:intro}

The Yang--Baxter equation, also known as the star--triangle equation, has been the cornerstone of many aspects of modern mathematical physics.
It plays an central role in (quantum) integrable systems, which naturally arise across a broad spectrum of mathematics and physics.
Applications include explaining combinatorial phenomena and properties, describing probabilistic models and studying Whittaker functions, such as in~\cite{BBBG19,BBBGIwahori,BSW20,BorodinWheelernsMac,FK94,Kuperberg96,MS13,MS19,WZJ19}.
In many of the papers cited, one equates an object of interest (like a Hall--Littlewood polynomial or a Whittaker function) with the partition function of a solvable lattice model.
This naturally implies interesting properties such as branching rules, Cauchy-type identities, exchange relations, and combinatorial descriptions.

Our work is motivated by the geometry of Schubert varieties.
Consider the general linear group $G = \GL(\CC^n)$ and the subgroups of lower triangular matrices $B$ and diagonal matrices $T$.
A complete flag is an element in the (complete/full) flag variety $G / B$ and corresponds to a sequence of subspaces $\{0\} = V_0 \subseteq \cdots \subseteq V_n = \CC^n$ such that $\dim V_i = i$.
A Schubert cell is a (left) $B$-orbit in $G / B$, and a Schubert variety is the Zariski closure of a Schubert cell.
The Schubert varieties are indexed by permutations and have many nice properties, such as Bruhat order corresponding to inclusion and forming a basis for the ($T$-)equivariant (connective) K-theory ring of the flag variety $K_T^{\beta}(G/B)$.

In this paper, we connect the equivariant K-theory ring $K_T^{\beta}(G/B)$ with solvable lattice models.
To do this, we use the double ($\beta$-)Grothendieck polynomials $\G_w$, where $w$ is a permutation, as representatives for the Schubert varieties in  $K_T^{\beta}(G/B)$~\cite{FK94,LS82}.
Our main result (Theorem~\ref{thm:5vertex_atoms}) is a colored lattice model whose partition function is (up to a trivial factor of the parameter $\beta$) $\G_w$.
We construct our model as a translation of the bumpless pipe dreams with a fixed key given in~\cite{Weigandt20}, where resolving multiple crossings of two strands precisely corresponds to the colorization performed in~\cite{BBBG19,BSW20}.
Thus, we encode the permutation into the model by using the coloring.
Our proof is showing the Yang--Baxter equation implies the partition function satisfies the same functional equations defining double Grothendieck polynomials (up to a $\beta$ factor).
Therefore, we have a new proof of~\cite[Thm.~1.1]{Weigandt20}, which gives a formula for $\G_w$ as a sum over bumpless pipe dreams with key $w$ proven using a combination of algebraic and combinatorial techniques.
Our model is the colored version of the six-vertex model that Lascoux used in~\cite{Lascoux02} to describe $\G_w$ using alternating sign matrices.
By specializing $\beta = 0$, we recover the formula for double Schubert polynomials from~\cite{LLS18}.
Our results can be considered as the flag variety version of~\cite{BSW20,MS13} on the Grassmannian, the set of $k$-dimensional planes in $\CC^n$.

In the second part of our paper, we consider the analog of $\G_w(\xx, \yy; \beta)$ for the equivariant K-theory of the Grassmannian, which are the factorial Grothendieck polynomials.
The stable limit of double Grothendieck polynomials decompose into finitely many factorial Grothendieck polynomials~\cite{Buch02,McNamara06}.
When $w$ is vexillary (it avoids the pattern $2143$), the stable limit of $\G_w$ is a single factorial Grothendieck polynomial.
Factorial Grothendieck polynomials are given as the sum over set-valued tableaux~\cite{McNamara06}. %and have a determinant formula~\cite{IN13}.

We look at what happens to our colored model restricted to vexillary permutations.
To do this, we first construct a variation of the uncolored version of our model by swapping $0 \leftrightarrow 1$ on the horizontal lines, which we call the semidual model.
To encode the permutation $w$, we modify the semidual model to not be on a rectangular grid, but instead on a grid given by a partition $\Lambda_w$ that depends on $w$.
By a key property of vexillary permutations, the partition function is the same as our original colored model and the semidual model becomes a five-vertex model.
Hence we can change the weights of one of the vertices by removing a $\beta$ factor and maintain integrability, and the resulting vertices become those of~\cite{MS13} (up to a gauge transformation).
The fact that the shape of the semidual model is $\Lambda_w$ corresponds to imposing a flagging on set-valued tableaux under the natural bijection between (marked) states of the~\cite{MS13} model given in~\cite[Sec.~4.2]{MPS18}.
Therefore we obtain a new proof that double Grothendieck polynomials are sums over flagged set-valued tableaux~\cite{KMY09} (Theorem~\ref{thm:uncolored_factorial}), which was proven using Gr\"obner geometry.
Furthermore, by taking the stable limit, we recover~\cite{McNamara06} (Theorem~\ref{thm:vexillary_flagged}), which was proven by examining the underlying combinatorics.
By taking appropriate specializations, we obtain new proofs of results from~\cite{Buch02,MS13,WZJ19}.

A state of the semidual model correponds to a family of nonintersecting lattice paths, which we then apply the Lindstr\"om--Gessel--Viennot lemma to.
Yet, we can only obtain a determinant formula for flagged (factorial) Schur functions (Theorem~\ref{thm:LGV_Schubert}).
We were unable to extend this to the determinant formula for $\G_w$ from~\cite{Anderson19,MS19}.
Additionally, our NILPs are distinct from those in~\cite{Kreiman05} referenced in~\cite[Sec.~7.3]{Weigandt20} and those in~\cite{Krattenthaler05} and~\cite{KL04}.
%We can also translate states of our models to excited Young diagrams, introduced independently in~\cite{Kreiman05} and~\cite{IN09}, by using the local moves from~\cite[Sec.~7]{Weigandt20}, which are also easy to see directly on the semidual model.
%Excited Young diagrams were used to describe polynomial representatives of the $T$-equivariant K-theory of the Grassmannian~\cite{IN13,GK15}, and so we recover special cases of those results for $\GL(\CC^n)$.
%We expect our colored lattice models approach can be used to give a new proof of the general formulas from~\cite{IN13,GK15}.

This extended abstract is organized as follows.
In Section~\ref{sec:background}, we provide the necessary background on double Grothendieck polynomials.
In Section~\ref{sec:double_Grothendieck_model}, we give our integrable colored lattice model whose partition function is a double Grothendieck polynomial and connect it to bumpless pipe dreams.
In Section~\ref{sec:dual_model}, we give our semidual model and relate it to (flagged) set-valued tableaux.
This is the extended abstract version of~\cite{BS20}.

After~\cite{BS20} was written, we were made aware of~\cite{frozenpipes}, where a different lattice model interpretation for double Grothendieck polynomials by using regular pipe dreams.
The Boltzmann weights for the states (and the $L$-matrices) are different as there is no weight preserving bijection between the two (cf.~\cite[Ex.~6.3]{Weigandt20}).
Their applications are distinct from ours except for Corollary~\ref{cor:symmetry}, which we realized we could prove after seeing~\cite{frozenpipes}. 







%===============================================================================
\section{Background}
\label{sec:background}

Fix a positive integer $n$.
Let $\xx = (x_1, \dotsc, x_n)$ (resp.\ $\yy = (y_1, \ldots)$) be a finite (resp.\ infinite) sequence of indeterminates.
For $(\alpha_1, \dotsc, \alpha_n) \in \ZZ^n$ of length $n$, denote $\xx^{\alpha} := x_1^{\alpha_1} \cdots x_n^{\alpha_n}$.

Let $\lambda = (\lambda_1, \lambda_2, \dotsc, \lambda_n)$ be a \defn{partition}, a sequence of weakly decreasing nonnegative integers (of length $n$).
Let $\ell(\lambda) = \max \{k \mid \lambda_k > 0 \}$ denote the \defn{length} of $\lambda$.
The Young diagram (in English convention) of $\lambda$ is a drawing consisting of stacks of boxes with row $i$ having $\lambda_i$ boxes pushed into the upper-left corner.
The \defn{$01$-sequence} of $\lambda$ is given by reading the boundary of $\lambda$, starting at the bottom, with horizontal steps being $0$ and vertical steps being $1$ (we ignore all trailing $0$s in the $01$-sequence).
For example, the $01$-sequence of $\lambda = (5, 2, 2, 1, 0, 0)$ for $n = 6$ is $11010110001$.


Let $\sym{n}$ be the symmetric group on $n$ elements with $s_i = (i \; i+1)$.
For $w \in \sym{n}$, let $\ell(w)$ denote the length of $w$.
Let $w_0$ denote the longest element in $\sym{n}$.
The \defn{diagram} of $w$ is
\[
D(w) := \{ (p, q) \in \{1, \dotsc, n\} \times \{1, \dotsc, n\} \mid w(p) > q \text{ and } w^{-1}(q) > p \},
\]
(the boxes not in the Rothe diagram of $w$).
Let $w' = 1^k \times w$ denote the permutation
\[
w'(i) := \begin{cases}
i & \text{if } i \leq k, \\
w(i-k) + k & \text{if } i > k.
\end{cases}
\]
Let $\leq$ denote the (strong) Bruhat order on $S_n$.
Define $w\xx := (x_{w(1)}, \dotsc, x_{w(n)})$.
A permutation $w$ is \defn{vexillary} if it avoids the pattern $2143$; that is to say there does not exists $1 \leq i < j < k < \ell \leq n$ such that $w_j < w_i < w_{\ell} < w_k$.

We can compute $\lambda_w$ by ordering the sequence whose $i$-th value is the number of boxes in row $i$ of $D(w)$.
We call $\lambda_w$ the \defn{partition associated to $w$}.
Next, let $\Lambda_w$ denote the smallest partition whose Young diagram contains the boxes $D(w)$.
Following~\cite[Sec.~5.2]{KMY09}, define $F_w = (F_i)_{i=1}^{\ell(\lambda_w)}$ with $F_i$ the row index of the southeastern box of $\Lambda_w$ that lies on the same diagonal as the last box $(i, \lambda_i)$ in row $i$ of $\lambda = \lambda_w$.
We call $F_w$ the \defn{flagging associated to $w$}.


Define $x \oplus y := x + y + \beta x y$.
Let $f \in \ZZ[\xx]$.
The \defn{K-theoretic divided difference operator} is
\[
\Kdd_i f := \frac{(1 + \beta x_{i+1}) f - (1 + \beta x_i) s_i f}{x_i - x_{i+1}}.
\]
These are normally denoted by $\pi_i$ in the literature.
We also require the \defn{Demazure--Lascoux operator} $ \varpi_i f := \Kdd_i(x_i f)$ and the \defn{Demazure--Lascoux atom operator} $\overline{\varpi}_i := \varpi_i - 1$.
For any operator $D_i = \partial_i, \Kdd_i, \pi_i, \varpi_i, \overline{\varpi}_i$, define
$
D_w := D_{i_1} \dotsm D_{i_k}
$
for any reduced expression $w = s_{i_1} \cdots s_{i_k}$, which is well-defined as these operators all satisfy the braid relations.
%We also note the following relations:
%\[
%\partial_i^2 = \Kdd_i^2 =  \overline{\varpi}_i^2 =0,
%\qquad\qquad
%\pi_i^2 = \pi_i,
%\qquad\qquad
%\varpi_i^2 = \varpi_i.
%\]

Following~\cite{FK94}, the \defn{double Grothendieck polynomial} is defined recursively by
\[
\G_{w_0}(\xx, \yy; \beta) := \prod_{i + j \leq n} x_i \oplus y_j,
\qquad\quad
\G_w(\xx, \yy; \beta) := \Kdd_i \G_{w s_i}(\xx, \yy; \beta), \quad \text{for } \ell(w s_i) = \ell(w) + 1.
\]

Let $\svt_{\lambda}$ denote the set of \defn{set-valued tableaux of shape $\lambda$}, fillings of the boxes of $\lambda$ with non-empty (finite) subsets of $\{1, 2, \dotsc, n\}$ that satisfy locally
\[
\ytableaushort{AB,C}\,,
\qquad\qquad
\max A \leq \min B,
\qquad
\max A < \min C.
\]
%For $T$ a set-valued tableau, we write $A \in T$ to mean that $A$ is an entry in one of the boxes of $T$.
For $F = \{F_i \in \ZZ\}_{i=1}^{\ell(\lambda)}$, let $\svt_{\lambda,F} \subseteq \svt_{\lambda}$ be the subset of \defn{flagged set-valued tableaux}, where every value in the $i$-th row of $T$ is at most $F_i$.

Following~\cite{KMY09}, define the \defn{flagged factorial Grothendieck polynomial} as
\[
\G_{\lambda,F}(\xx | \yy; \beta) := \sum_{T \in \svt_{\lambda,F}} \beta^{\abs{T} - \abs{\lambda}} \prod_{A \in T} \prod_{i \in A} x_i \oplus y_{i + c(A)},
\]
where $c(A) = c - r$ is the \defn{content} of the box $A$ (which we have equated with its entry) in row $r$ and column $c$.
A determinant formula for $\G_{\lambda,F}(\xx, \yy; \beta)$ was given in~\cite{MS19}.

\begin{theorem}[{\!\cite[Thm.~5.8]{KMY09}}]
\label{thm:vexillary_flagged}
For a vexillary permutation $w$,
$
\G_w(\xx, \yy; \beta) = \G_{\lambda_w,F_w}(\xx | \yy; \beta).
$
\end{theorem}


%Furthermore, we can see that the $R$-matrix corresponds to the vertices of the $L$-matrix rotated by $45^{\circ}$ clockwise and the weights of the $L$-matrix take $z = \frac{x_j - x_i}{1 + \beta x_i}$ and are scaled by $(1 + \beta x_i) x_j$.










%===============================================================================
\section{Double Grothendieck polynomial colored model}
\label{sec:double_Grothendieck_model}

We now give our main result: an integrable colored vertex model whose partition function is $\G_w(\xx, \yy; \beta)$ and relate it to the bumpless pipe dream formula from~\cite{Weigandt20}.

Fix colors $\cc = (c_1 > c_2 > \cdots > c_n)$ and a permutation $w \in \sym{n}$.
Let $w \cc = (c_{w(1)}, c_{w(2)}, \dotsc, c_{w(n)})$ be the natural action of $w$ on the colors.
The \defn{(lattice) model} is given by a rectangular grid of $n$ horizontal and vertical lines with each crossing a \defn{vertex} and the lines between two vertices (resp.\ from one vertex) are \defn{edges} (resp.\ \defn{half edges}).
The \defn{boundary conditions} are the top and left half edges are labeled by $0$, the right half edges are labeled by $w \cc$ from top-to-bottom, and the bottom half edges begin $\cc$ from left-to-right.
A \defn{state} is a labeling of the edges by $\{0\} \sqcup \cc$, and we call a state \defn{admissible} if each vertex is one of those in Figure~\ref{fig:bumpless_weights}.
For examples of admissible states, see Figure~\ref{fig:colored_state}.

We assign a non-zero \defn{(Boltzmann) weight} with \defn{spectral parameter} $x$ to each of the vertices in Figure~\ref{fig:bumpless_weights}, the set of which is called an \defn{$L$-matrix}.
The \defn{(Boltzmann) weight} $\wt(S)$ of a state $S$ is the product of all of the Boltzmann weights of all vertices. %with $x = x_i$ in the $i$-th row numbered starting from top and $y = y_j$ in the $j$-th column numbered starting from the left.
Let $\Gstates_w$ denote the set of all possible admissible states for this model, which we call the \defn{double Grothendieck model}.
The \defn{partition function} is
$
Z(\Gstates_w; \xx, \yy; \beta) := \sum_{S \in \Gstates_w} \wt(S).
$


\begin{figure}
\[
\begin{array}{c@{\;\;}c@{\;\;}c@{\;\;}c@{\;\;}c@{\;\;}c@{\;\;}c}
\toprule
  \tt{a}_1&\tt{a}_2&\tt{a}^{\dagger}_2&\tt{b}_1&\tt{b}_2&\tt{c}_1&\tt{c}_2\\
\midrule
\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw (a)--(0,0);
\draw (b)--(0,0);
\draw (c)--(0,0);
\draw (d)--(0,0);
\draw[fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$0$};
\node at (b) {$0$};
\node at (c) {$0$};
\node at (d) {$0$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture}
%%%%%%%
& \begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw[line width=0.5mm, blue] (a)--(0,0);
\draw[line width=0.5mm, blue] (b)--(0,0);
\draw[line width=0.5mm, red] (c)--(0,0);
\draw[line width=0.5mm, red] (d)--(0,0);
\draw[line width=0.5mm, blue, fill=white] (a) circle (.25);
\draw[line width=0.5mm, blue, fill=white] (b) circle (.25);
\draw[line width=0.5mm, red, fill=white] (c) circle (.25);
\draw[line width=0.5mm, red, fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$c'$};
\node at (b) {$c'$};
\node at (c) {$c$};
\node at (d) {$c$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture}
%%%%%%%
& \begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw[line width=0.5mm, red] (a)--(0,0);
\draw[line width=0.6mm, blue] (b)--(0,0);
\draw[line width=0.5mm, red] (c)--(0,0);
\draw[line width=0.6mm, blue] (d)--(0,0);
\draw[line width=0.5mm, red, fill=white] (a) circle (.25);
\draw[line width=0.5mm, blue, fill=white] (b) circle (.25);
\draw[line width=0.5mm, red, fill=white] (c) circle (.25);
\draw[line width=0.5mm, blue, fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$c$};
\node at (b) {$c'$};
\node at (c) {$c$};
\node at (d) {$c'$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture}
%%%%%%%
& \begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw (a)--(0,0);
\draw[line width=0.6mm, UQgold] (b)--(0,0);
\draw (c)--(0,0);
\draw[line width=0.5mm, UQgold] (d)--(0,0);
\draw[fill=white] (a) circle (.25);
\draw[line width=0.5mm,UQgold,fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[line width=0.5mm,UQgold,fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$0$};
\node at (b) {$d$};
\node at (c) {$0$};
\node at (d) {$d$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture}
%%%%%%%
& \begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw[line width=0.5mm, UQgold] (a)--(0,0);
\draw(b)--(0,0);
\draw[line width=0.5mm, UQgold] (c)--(0,0);
\draw (d)--(0,0);
\draw[line width=0.5mm,UQgold,fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[line width=0.5mm,UQgold,fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$d$};
\node at (b) {$0$};
\node at (c) {$d$};
\node at (d) {$0$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture}
%%%%%%%
& \begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw[line width=0.5mm, UQgold] (a)--(0,0);
\draw[line width=0.6mm, UQgold] (b)--(0,0);
\draw (c)--(0,0);
\draw (d)--(0,0);
\draw[line width=0.5mm,UQgold,fill=white] (a) circle (.25);
\draw[line width=0.5mm,UQgold,fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$d$};
\node at (b) {$d$};
\node at (c) {$0$};
\node at (d) {$0$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture}
%%%%%%%
& \begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw (a)--(0,0);
\draw (b)--(0,0);
\draw[line width=0.5mm, UQgold] (c)--(0,0);
\draw[line width=0.5mm, UQgold] (d)--(0,0);
\draw[fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[line width=0.5mm,UQgold, fill=white] (c) circle (.25);
\draw[line width=0.5mm,UQgold, fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$0$};
\node at (b) {$0$};
\node at (c) {$d$};
\node at (d) {$d$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture}
%%%%%%%
\\ 
\midrule
\beta (x \oplus y) & 1 &1  & 1 & 1 & 1 + \beta (x \oplus y) & 1 \\
\bottomrule
\end{array}
\]
\caption{The Boltzmann weights with ${\color{red} c} > {\color{blue} c'}$ and ${\color{UQgold} d}$ being any color for the model $\Gstates_w$.}
\label{fig:bumpless_weights}
\end{figure}

\begin{figure}%[h]
\[
\begin{array}{c@{\hspace{30pt}}c@{\hspace{30pt}}c@{\hspace{30pt}}c}
\toprule
%  ++++ : z2
\begin{tikzpicture}[scale=0.7]
\draw (0,0) to [out = 0, in = 180] (2,2);
\draw (0,2) to [out = 0, in = 180] (2,0);
\draw[fill=white] (0,0) circle (.35);
\draw[fill=white] (0,2) circle (.35);
\draw[fill=white] (2,0) circle (.35);
\draw[fill=white] (2,2) circle (.35);
\node at (0,0) {$0$};
\node at (0,2) {$0$};
\node at (2,2) {$0$};
\node at (2,0) {$0$};
\path[fill=white] (1,1) circle (.3);
\node at (1,1) {$x_i,x_j$};
\end{tikzpicture}&
%  +RR+ : z2
\begin{tikzpicture}[scale=0.7]
\draw (0,0) to [out = 0, in = 180] (2,2);
\draw (0,2) to [out = 0, in = 180] (2,0);
\draw[fill=white] (0,0) circle (.35);
\draw[line width=0.5mm, UQgold, fill=white] (0,2) circle (.35);
\draw[line width=0.5mm, UQgold, fill=white] (2,2) circle (.35);
\draw[fill=white] (2,0) circle (.35);
\node at (0,0) {$0$};
\node at (0,2) {$d$};
\node at (2,2) {$d$};
\node at (2,0) {$0$};
\path[fill=white] (1,1) circle (.3);
\node at (1,1) {$x_i,x_j$};
\end{tikzpicture}&
%  R++R : z1
\begin{tikzpicture}[scale=0.7]
\draw (0,0) to [out = 0, in = 180] (2,2);
\draw (0,2) to [out = 0, in = 180] (2,0);
\draw[fill=white] (0,0) circle (.35);
\draw[line width=0.5mm, UQgold, fill=white] (0,2) circle (.35);
\draw[fill=white] (2,2) circle (.35);
\draw[line width=0.5mm, UQgold, fill=white] (2,0) circle (.35);
\node at (0,0) {$0$};
\node at (0,2) {$d$};
\node at (2,2) {$0$};
\node at (2,0) {$d$};
\path[fill=white] (1,1) circle (.3);
\node at (1,1) {$x_i,x_j$};
\end{tikzpicture}&
%  R++R : z2
\begin{tikzpicture}[scale=0.7]
\draw (0,0) to [out = 0, in = 180] (2,2);
\draw (0,2) to [out = 0, in = 180] (2,0);
\draw[line width=0.5mm, UQgold, fill=white] (0,0) circle (.35);
\draw[fill=white] (0,2) circle (.35);
\draw[fill=white] (2,2) circle (.35);
\draw[line width=0.5mm, UQgold, fill=white] (2,0) circle (.35);
\node at (0,0) {$d$};
\node at (0,2) {$0$};
\node at (2,2) {$0$};
\node at (2,0) {$d$};
\path[fill=white] (1,1) circle (.3);
\node at (1,1) {$x_i,x_j$};
\end{tikzpicture}\\
   \midrule
 1 + \beta x_i & 1+ \beta x_i & \beta (x_j - x_i) & 1 + \beta x_j \\
   \midrule
%  BRRB : z1
\begin{tikzpicture}[scale=0.7]
\draw (0,0) to [out = 0, in = 180] (2,2);
\draw (0,2) to [out = 0, in = 180] (2,0);
\draw[line width=0.5mm, blue, fill=white] (0,0) circle (.35);
\draw[line width=0.5mm, red, fill=white] (0,2) circle (.35);
\draw[line width=0.5mm, red, fill=white] (2,2) circle (.35);
\draw[line width=0.5mm, blue, fill=white] (2,0) circle (.35);
\node at (0,0) {$c'$};
\node at (0,2) {$c$};
\node at (2,2) {$c$};
\node at (2,0) {$c'$};
\path[fill=white] (1,1) circle (.3);
\node at (1,1) {$x_i,x_j$};
\end{tikzpicture}&
%  RBBR : z2
\begin{tikzpicture}[scale=0.7]
\draw (0,0) to [out = 0, in = 180] (2,2);
\draw (0,2) to [out = 0, in = 180] (2,0);
\draw[line width=0.5mm, red, fill=white] (0,0) circle (.35);
\draw[line width=0.5mm, blue, fill=white] (0,2) circle (.35);
\draw[line width=0.5mm, blue, fill=white] (2,2) circle (.35);
\draw[line width=0.5mm, red, fill=white] (2,0) circle (.35);
\node at (0,0) {$c$};
\node at (0,2) {$c'$};
\node at (2,2) {$c'$};
\node at (2,0) {$c$};
\path[fill=white] (1,1) circle (.3);
\node at (1,1) {$x_i,x_j$};
\end{tikzpicture}&
%  RBRB : z1 - z2
\begin{tikzpicture}[scale=0.7]
\draw (0,0) to [out = 0, in = 180] (2,2);
\draw (0,2) to [out = 0, in = 180] (2,0);
\draw[line width=0.5mm, blue, fill=white] (0,0) circle (.35);
\draw[line width=0.5mm, red, fill=white] (0,2) circle (.35);
\draw[line width=0.5mm, blue, fill=white] (2,2) circle (.35);
\draw[line width=0.5mm, red, fill=white] (2,0) circle (.35);
\node at (0,0) {$c'$};
\node at (0,2) {$c$};
\node at (2,2) {$c'$};
\node at (2,0) {$c$};
\path[fill=white] (1,1) circle (.3);
\node at (1,1) {$x_i,x_j$};
\end{tikzpicture}&
%  RRRR : z2
\begin{tikzpicture}[scale=0.7]
\draw (0,0) to [out = 0, in = 180] (2,2);
\draw (0,2) to [out = 0, in = 180] (2,0);
\draw[line width=0.5mm, UQgold, fill=white] (0,0) circle (.35);
\draw[line width=0.5mm, UQgold, fill=white] (0,2) circle (.35);
\draw[line width=0.5mm, UQgold, fill=white] (2,2) circle (.35);
\draw[line width=0.5mm, UQgold, fill=white] (2,0) circle (.35);
\node at (0,0) {$d$};
\node at (0,2) {$d$};
\node at (2,2) {$d$};
\node at (2,0) {$d$};
\path[fill=white] (1,1) circle (.3);
\node at (1,1) {$x_i,x_j$};
\end{tikzpicture}\\
   \midrule
1 + \beta x_i & 1 + \beta x_j & \beta (x_j - x_i) & 1 + \beta x_i \\
   \bottomrule
\end{array}
\]
\caption{The colored $R$-matrix with ${\color{red} c} > {\color{blue} c'}$ and ${\color{UQgold} d}$ being any color for the double Grothendieck model. Note that the weights are not symmetric with respect to color.}
\label{fig:bumpless_R_matrix}
\end{figure}



\begin{proposition}
\label{prop:double_Grothendieck_integrable}
The colored vertex model $\Gstates_w$ with $R$-matrix given by Figure~\ref{fig:bumpless_R_matrix} is \defn{integrable}: it satisfies the $RLL$ form of the \defn{Yang--Baxter equation}, where the partition function of the following two models are equal for any boundary conditions $a,b,c,d,e,f \in \{ 0, c_1, c_2, \dotsc, c_n \}$:
\begin{equation}
\label{eq:RLL_relation}
\begin{tikzpicture}[baseline=(current bounding box.center),scale=0.8]
  \draw (0,1) to [out = 0, in = 180] (2,3) to (4,3);
  \draw (0,3) to [out = 0, in = 180] (2,1) to (4,1);
  \draw (3,0) to (3,4);
  \draw[fill=white] (0,1) circle (.3);
  \draw[fill=white] (0,3) circle (.3);
  \draw[fill=white] (3,4) circle (.3);
  \draw[fill=white] (4,3) circle (.3);
  \draw[fill=white] (4,1) circle (.3);
  \draw[fill=white] (3,0) circle (.3);
  \node at (0,1) {$a$};
  \node at (0,3) {$b$};
  \node at (3,4) {$c$};
  \node at (4,3) {$d$};
  \node at (4,1) {$e$};
  \node at (3,0) {$f$};
\path[fill=white] (3,3) circle (.3);
\node at (3,3) {$x_i$};
\path[fill=white] (3,1) circle (.3);
\node at (3,1) {$x_j$};
\path[fill=white] (1,2) circle (.3);
\node at (1,2) {$x_i,x_j$};
\end{tikzpicture}
\qquad\qquad\qquad
\begin{tikzpicture}[baseline=(current bounding box.center),scale=0.8]
  \draw (0,1) to (2,1) to [out = 0, in = 180] (4,3);
  \draw (0,3) to (2,3) to [out = 0, in = 180] (4,1);
  \draw (1,0) to (1,4);
  \draw[fill=white] (0,1) circle (.3);
  \draw[fill=white] (0,3) circle (.3);
  \draw[fill=white] (1,4) circle (.3);
  \draw[fill=white] (4,3) circle (.3);
  \draw[fill=white] (4,1) circle (.3);
  \draw[fill=white] (1,0) circle (.3);
  \node at (0,1) {$a$};
  \node at (0,3) {$b$};
  \node at (1,4) {$c$};
  \node at (4,3) {$d$};
  \node at (4,1) {$e$};
  \node at (1,0) {$f$};
\path[fill=white] (1,3) circle (.3);
\node at (1,3) {$x_j$};
\path[fill=white] (1,1) circle (.3);
\node at (1,1) {$x_i$};
\path[fill=white] (3,2) circle (.3);
\node at (3,2) {$x_i,x_j$};
\end{tikzpicture}
\end{equation}
\end{proposition}


The Yang--Baxter relation only involves at most $3$ colors, so Proposition~\ref{prop:double_Grothendieck_integrable} is an identity of $2^4 \times 2^4$ matrices as colors are conserved under the $R$-matrix and $L$-matrix.
Thus Proposition~\ref{prop:double_Grothendieck_integrable} can be shown by direct computation using, \textit{e.g.},~\textsc{SageMath}~\cite{sage}.

 
Following~\cite{BBBG19,BSW20}, we use the Yang--Baxter equation and the train argument to construct a functional equation for the partition function of our model $\Gstates_w$.
The proof is standard and is the same as the one given in, \textit{e.g.},~\cite[Lemma~3.3]{BSW20}; pictorially it is the equality of:
\[
\begin{tikzpicture}[scale=0.6]
\begin{scope}[shift={(6,0)}]
  \draw (4,1) to (6,1) to [out = 0, in = 180] (8,3);
  \draw (4,3) to (6,3) to [out = 0, in = 180] (8,1);
  \draw (0,1) to (2,1);
  \draw (0,3) to (2,3);
  \draw (5,0.25) to (5,3.75);
  \draw (1,0.25) to (1,3.75);
  \draw[fill=white] (-0.3,3) circle (.55);
  \draw[fill=white] (-0.3,1) circle (.55);
  \draw[line width=0.5mm,blue,fill=white] (8.3,1) circle (.55);
  \draw[line width=0.5mm,red,fill=white] (8.3,3) circle (.55);
  \node at (3,1) {$\cdots$};
  \node at (3,3) {$\cdots$};
  \draw[densely dashed] (1,3.75) to (1,4.25);
  \draw[densely dashed] (1,0.25) to (1,-0.25);
  \draw[densely dashed] (5,3.75) to (5,4.25);
  \draw[densely dashed] (5,0.25) to (5,-0.25);
  \path[fill=white] (1,3) circle (.5);
  \node at (1,3) {\scriptsize$x_i$};
  \path[fill=white] (1,1) circle (.4);
  \node at (1,1) {\scriptsize$x_{i+1}$};
  \path[fill=white] (5,3) circle (.5);
  \node (a) at (5,3) {\scriptsize$x_i$};
  \path[fill=white] (5,1) circle (.4);
  \node at (5,1) {\scriptsize$x_{i+1}$};
  \path[fill=white] (7,2) circle (.3);
  \node at (7,2) {\scriptsize$x_i,x_{i+1}$};
  \node at (8.3,1) {\small $d_i$};
  \node at (8.3,3) {\small $d_{i+1}$};
  \node at (-0.3,1) {\small $0$};
  \node at (-0.3,3) {\small $0$};
\end{scope}
\begin{scope}[shift={(-6,0)}]
  \draw (0,1) to [out = 0, in = 180] (2,3) to (4,3);
  \draw (0,3) to [out = 0, in = 180] (2,1) to (4,1);
  \draw (3,0.25) to (3,3.75);
  \draw (7,0.25) to (7,3.75);
  \draw (6,1) to (8,1);
  \draw (6,3) to (8,3);
  \draw[line width=0.5mm,blue,fill=white] (8.3,1) circle (.55);
  \draw[line width=0.5mm,red,fill=white] (8.3,3) circle (.55);
  \draw[fill=white] (-0.3,3) circle (.55);
  \draw[fill=white] (-0.3,1) circle (.55);
  \node at (-0.3,1) {\small $0$};
  \node at (-0.3,3) {\small $0$};
  \node at (5,3) {$\cdots$};
  \node at (5,1) {$\cdots$};
  \draw[densely dashed] (3,3.75) to (3,4.25);
  \draw[densely dashed] (3,0.25) to (3,-0.25);
  \draw[densely dashed] (7,3.75) to (7,4.25);
  \draw[densely dashed] (7,0.25) to (7,-0.25);
  \node at (8.3,1) {\small $d_i$};
  \node at (8.3,3) {\small $d_{i+1}$};
\path[fill=white] (3,3) circle (.4);
\node at (3,3) {\scriptsize$x_{i+1}$};
\path[fill=white] (3,1) circle (.5);
\node at (3,1) {\scriptsize$x_i$};
\path[fill=white] (7,3) circle (.4);
\node at (7,3) {\scriptsize$x_{i+1}$};
\path[fill=white] (7,1) circle (.5);
\node at (7,1) {\scriptsize$x_i$};
\path[fill=white] (1,2) circle (.3);
\node at (1,2) {\scriptsize$x_i,x_{i+1}$};
\end{scope}
\end{tikzpicture}
\]


\begin{lemma}
\label{lemma:recurrence_eq}
Let $w \in \sym{n}$, and consider any $s_i$ such that $w s_i > w$.
Then we have
\[
\beta Z(\Gstates_w; \xx, \yy; \beta) = \frac{(1 + \beta x_{i+1} ) \cdot Z(\Gstates_{w s_i}; \xx, \yy; \beta) - (1 + \beta x_i) \cdot Z(\Gstates_{w s_i}; s_i \xx, \yy; \beta)}{x_i - x_{i+1}}.
\]
\end{lemma}

%Since $Z(\Gstates_w; \xx, \yy; \beta) $ satisfies the same recursion and initial condition as $\G_w(\xx, \yy; \beta)$:

\begin{theorem}
\label{thm:5vertex_atoms}
We have
$
Z(\Gstates_w; \xx, \yy; \beta) = \beta^{\ell(w)} \G_w(\xx, \yy; \beta).
$
\end{theorem}

The authors thank Anatol Kirillov for noting the following well-known symmetry can be seen from~\cite{FK94} or from $\G_w(\xx, \yy; \beta)$ as a sum over usual pipe dreams (or RC-graphs)~\cite{FK94,KM04}.
A colored lattice model proof was first given in~\cite[Prop.~9.1]{frozenpipes}.

\begin{corollary}
\label{cor:symmetry}
We have
$
Z(\states_w; \xx, \yy; \beta) = Z(\states_{w^{-1}}; \yy, \xx; \beta)
$
and $\G_w(\xx, \yy; \beta) = \G_{w^{-1}}(\yy, \xx; \beta)$.
\end{corollary}



In~\cite[Eq.~(3.7)]{Weigandt20}, each uncolored vertex corresponds to one of the tiles that defines a bumpless pipe dream.
The key $\partial P$ of a bumpless pipe dream $P$ is given by the Demazure product of the simple transpositions (where instead $s_i^2 = s_i$).
Indeed, color each line of $P$ starting from the bottom as $c_1, \dotsc, c_n$ from left-to-right where each color must cross (\textit{i.e}, the vertex $\tt{a}_2^{\dagger}$ or with the colors swapped).
Moving from the bottom-left to the top-right along diagonals, when we replace a color flipped $\tt{a}_2^{\dagger}$ with $\tt{a}_2$ (see also~\cite[Eq.~(2.4), Lemma~2.1]{Weigandt20}).
Thus states of $\Gstates_w$ are bumpless pipe dreams with key $w$ after forgetting the colors, and we obtain a new proof of~\cite[Thm.~1.1]{Weigandt20}.



\begin{figure}
\[
  \begin{tikzpicture}[scale=0.54, font=\scriptsize,baseline=0]
    % Draw the grid and weights
    \foreach \i in {1,3,5,7} {
        \draw (\i,0)--(\i,8);
        \draw (0,\i)--(8,\i);
    }
    \draw[line width=0.5mm,red] (1,0) -- (1,1) -- (8,1);
    \draw[line width=0.5mm,blue] (3,0) -- (3,3) -- (8,3);
    \draw[line width=0.5mm,darkgreen] (5,0) -- (5,5) -- (8,5);
    \draw[line width=0.5mm,UQpurple] (7,0) -- (7,7) -- (8,7);
    \foreach \x in {0,2,4,6,8} {
        \foreach \y in {1,3,5,7} {
            \draw[fill=white] (\x,\y) circle (.35); \node at (\x,\y) {$0$};
        }
    }
    \foreach \i in {1,3,5,7} {
        \foreach \y in {0,2,4,6,8} {
            \draw[fill=white] (\i,\y) circle (.35); \node at (\i,\y) {$0$};
        }
        \node at (\i,8) {$0$};
        \node at (0,\i) {$0$};
    }
    
    % c_1 path
    \foreach \y in {0} {
        \draw[line width=0.5mm,red,fill=white] (1,\y) circle (.35); \node at (1,\y) {$c_1$};
    }
    \foreach \x in {2,4,6,8}{
        \draw[line width=0.5mm,red,fill=white] (\x,1) circle (.35); \node at (\x,1) {$c_1$};
    }
    % c_2 path
    \foreach \y in {0,2} {
        \draw[line width=0.5mm,blue,fill=white] (3,\y) circle (.35); \node at (3,\y) {$c_2$};
    }
    \foreach \x in {4,6,8}{
        \draw[line width=0.5mm,blue,fill=white] (\x,3) circle (.35); \node at (\x,3) {$c_2$};
    }
    % c_3 path
    \foreach \y in {0,2,4} {
        \draw[line width=0.5mm,darkgreen,fill=white] (5,\y) circle (.35); \node at (5,\y) {$c_3$};
    }
    \foreach \x in {6,8}{
        \draw[line width=0.5mm,darkgreen,fill=white] (\x,5) circle (.35); \node at (\x,5) {$c_3$};
    }
    % c_4 path
    \foreach \y in {0,2,4,6} {
        \draw[line width=0.5mm,UQpurple,fill=white] (7,\y) circle (.35); \node at (7,\y) {$c_4$};
    }
    \foreach \x in {8}{
        \draw[line width=0.5mm,UQpurple,fill=white] (\x,7) circle (.35); \node at (\x,7) {$c_4$};
    }

    % The extra labels
    \foreach \i in {1,3,5,7} {
        \foreach \y in {1,2,3,4} {
            \path[fill=white] (\i,9-2*\y) circle (.3);
            \node at (\i,9-2*\y) {$x_{\y}$};
        }
    }
    \foreach \i in {1,2,3,4}{
        \node at (2*\i-1,8.8) {$ \i$};
        \node at(-.75,9-2*\i) {$ \i$};
    }
  \end{tikzpicture}
  \quad
  \begin{tikzpicture}[scale=0.54, font=\scriptsize,baseline=0]
    % Draw the grid and weights
    \foreach \i in {1,3,5,7} {
        \draw (\i,0)--(\i,8);
        \draw (0,\i)--(8,\i);
    }
    \draw[line width=0.5mm,red] (1,0) -- (1,3) -- (5,3) -- (5,5) -- (8,5);
    \draw[line width=0.5mm,blue] (3,0) -- (3,5) -- (5,5) -- (5,7) -- (8,7);
    \draw[line width=0.5mm,darkgreen] (5,0) -- (5,1) -- (8,1);
    \draw[line width=0.5mm,UQpurple] (7,0) -- (7,3) -- (8,3);
    \foreach \x in {0,2,4,6,8} {
        \foreach \y in {1,3,5,7} {
            \draw[fill=white] (\x,\y) circle (.35); \node at (\x,\y) {$0$};
        }
    }
    \foreach \i in {1,3,5,7} {
        \foreach \y in {0,2,4,6,8} {
            \draw[fill=white] (\i,\y) circle (.35); \node at (\i,\y) {$0$};
        }
        \node at (\i,8) {$0$};
        \node at (0,\i) {$0$};
    }
    
    % c_1 path
    \foreach \x/\y in {1/0,1/2,2/3,4/3,5/4,6/5,8/5} {
        \draw[line width=0.5mm,red,fill=white] (\x,\y) circle (.35); \node at (\x,\y) {$c_1$};
    }
    % c_2 path
    \foreach \x/\y in {3/0,3/2,3/4,4/5,5/6,6/7,8/7} {
        \draw[line width=0.5mm,blue,fill=white] (\x,\y) circle (.35); \node at (\x,\y) {$c_2$};
    }
    % c_3 path
    \foreach \y in {0} {
        \draw[line width=0.5mm,darkgreen,fill=white] (5,\y) circle (.35); \node at (5,\y) {$c_3$};
    }
    \foreach \x in {6,8}{
        \draw[line width=0.5mm,darkgreen,fill=white] (\x,1) circle (.35); \node at (\x,1) {$c_3$};
    }
    % c_4 path
    \foreach \y in {0,2} {
        \draw[line width=0.5mm,UQpurple,fill=white] (7,\y) circle (.35); \node at (7,\y) {$c_4$};
    }
    \foreach \x in {8}{
        \draw[line width=0.5mm,UQpurple,fill=white] (\x,3) circle (.35); \node at (\x,3) {$c_4$};
    }

    % The extra labels
    \foreach \i in {1,3,5,7} {
        \foreach \y in {1,2,3,4} {
            \path[fill=white] (\i,9-2*\y) circle (.3);
            \node at (\i,9-2*\y) {$x_{\y}$};
        }
    }
    \foreach \i in {1,2,3,4}{
        \node at (2*\i-1,8.8) {$ \i$};
        \node at(-.75,9-2*\i) {$ \i$};
    }
  \end{tikzpicture}
  \quad
  \begin{tikzpicture}[scale=0.54, font=\scriptsize,baseline=0]
    % Draw the grid and weights
    \foreach \i in {1,3,5,7} {
        \draw (\i,0)--(\i,8);
        \draw (0,\i)--(8,\i);
    }
    \draw[line width=0.5mm,red] (1,0) -- (1,5) -- (5,5) -- (5,7) -- (8,7);
    \draw[line width=0.5mm,blue] (3,0) -- (3,1) -- (8,1);
    \draw[line width=0.5mm,darkgreen] (5,0) -- (5,3) -- (8,3);
    \draw[line width=0.5mm,UQpurple] (7,0) -- (7,5) -- (8,5);
    \foreach \x in {0,2,4,6,8} {
        \foreach \y in {1,3,5,7} {
            \draw[fill=white] (\x,\y) circle (.35); \node at (\x,\y) {$0$};
        }
    }
    \foreach \i in {1,3,5,7} {
        \foreach \y in {0,2,4,6,8} {
            \draw[fill=white] (\i,\y) circle (.35); \node at (\i,\y) {$0$};
        }
        \node at (\i,8) {$0$};
        \node at (0,\i) {$0$};
    }
    
    % c_1 path
    \foreach \x/\y in {1/0,1/2,1/4,2/5,4/5,5/6,6/7,8/7} {
        \draw[line width=0.5mm,red,fill=white] (\x,\y) circle (.35); \node at (\x,\y) {$c_1$};
    }
    % c_2 path
    \foreach \y in {0} {
        \draw[line width=0.5mm,blue,fill=white] (3,\y) circle (.35); \node at (3,\y) {$c_2$};
    }
    \foreach \x in {4,6,8}{
        \draw[line width=0.5mm,blue,fill=white] (\x,1) circle (.35); \node at (\x,1) {$c_2$};
    }
    % c_3 path
    \foreach \y in {0,2} {
        \draw[line width=0.5mm,darkgreen,fill=white] (5,\y) circle (.35); \node at (5,\y) {$c_3$};
    }
    \foreach \x in {6,8}{
        \draw[line width=0.5mm,darkgreen,fill=white] (\x,3) circle (.35); \node at (\x,3) {$c_3$};
    }
    % c_4 path
    \foreach \y in {0,2,4} {
        \draw[line width=0.5mm,UQpurple,fill=white] (7,\y) circle (.35); \node at (7,\y) {$c_4$};
    }
    \foreach \x in {8}{
        \draw[line width=0.5mm,UQpurple,fill=white] (\x,5) circle (.35); \node at (\x,5) {$c_4$};
    }

    % The extra labels
    \foreach \i in {1,3,5,7} {
        \foreach \y in {1,2,3,4} {
            \path[fill=white] (\i,9-2*\y) circle (.3);
            \node at (\i,9-2*\y) {$x_{\y}$};
        }
    }
    \foreach \i in {1,2,3,4}{
        \node at (2*\i-1,8.8) {$ \i$};
        \node at(-.75,9-2*\i) {$ \i$};
    }
  \end{tikzpicture}
\]
  \caption{The unique state for the colored model $\Gstates_{w_0}$ (left), a state in $\Gstates_{s_1 s_3}$ (center), and a state in $\Gstates_{s_2 s_3 s_2}$ (right) with $n = 4$ and ${\color{red} c_1} > {\color{blue} c_2} > {\color{darkgreen} c_3} > {\color{UQpurple} c_4}$.}
  \label{fig:colored_state}
\end{figure}









%===============================================================================
\section{The semidual vertex model}
\label{sec:dual_model}

In this section, we modify our model and remove the colors in the case $w$ is a vexillary permutation.
We draw the states using tiles.
Thus the $L$-matrix given in Figure~\ref{fig:bumpless_weights} becomes
\[
\begin{tikzpicture}[scale=0.4,baseline=10]
\draw[very thin,gray] (0,0) rectangle (2,2);
\end{tikzpicture}\,,
\qquad
\begin{tikzpicture}[scale=0.4,baseline=10]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, red] (1,0) -- (1,1) -- (2,1);
\draw[very thick, blue] (0,1) -- (1,1) -- (1,2);
\end{tikzpicture}\,,
\qquad
\begin{tikzpicture}[scale=0.4,baseline=10]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, blue] (1,0) -- (1,2);
\draw[very thick, red] (0,1) -- (2,1);
\end{tikzpicture}\,,
\qquad
\begin{tikzpicture}[scale=0.4,baseline=10]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, UQgold] (1,0) -- (1,2);
\end{tikzpicture}\,,
\qquad
\begin{tikzpicture}[scale=0.4,baseline=10]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, UQgold] (0,1) -- (2,1);
\end{tikzpicture}\,,
\qquad
\begin{tikzpicture}[scale=0.4,baseline=10]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, UQgold] (0,1) -- (1,1) -- (1,2);
\end{tikzpicture}\,,
\qquad
\begin{tikzpicture}[scale=0.4,baseline=10]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, UQgold] (1,0) -- (1,1) -- (2,1);
\end{tikzpicture}\,.
\]


By~\cite[Lemma~7.2]{Weigandt20}, a bumpless pipe dream state has no $\tt{a}_2$ vertex if and only if $w$ is vexillary.
Thus we set the corresponding Boltzmann weight to $0$.
We can forget the colors when drawing the lattice models, but it does not quite equate the colored model with the uncolored model as we still need to keep track of which strands cross to encode $w$.
This  is important as the model needs to remain colored in order to get the correct partition function corresponding to $w$.
Let $\Gstates$ denote the corresponding uncolored model.

\begin{figure}
\[
\begin{array}{cccccc}
\toprule
  \overline{\tt{a}}_1&\overline{\tt{a}}_2&\overline{\tt{b}}_1&\overline{\tt{b}}_2&\overline{\tt{c}}_1&\overline{\tt{c}}_2\\
\midrule
\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw (a)--(0,0);
\draw (b)--(0,0);
\draw (c)--(0,0);
\draw (d)--(0,0);
\draw[fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$0$};
\node at (b) {$0$};
\node at (c) {$0$};
\node at (d) {$0$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture} &
%%%%%%%%%%%%%%%%%%%%%%
\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw[line width=0.5mm] (a)--(0,0);
\draw[line width=0.5mm] (b)--(0,0);
\draw[line width=0.5mm] (c)--(0,0);
\draw[line width=0.5mm] (d)--(0,0);
\draw[fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$1$};
\node at (b) {$1$};
\node at (c) {$1$};
\node at (d) {$1$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture}&
%%%%%%%%%%%%%%%%%%%%%%
\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw (a)--(0,0);
\draw[line width=0.5mm] (b)--(0,0);
\draw (c)--(0,0);
\draw[line width=0.5mm] (d)--(0,0);
\draw[fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$0$};
\node at (b) {$1$};
\node at (c) {$0$};
\node at (d) {$1$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture}&
%%%%%%%%%%%%%%%%%%%%%%
\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw[line width=0.5mm] (a)--(0,0);
\draw (b)--(0,0);
\draw[line width=0.5mm] (c)--(0,0);
\draw (d)--(0,0);
\draw[fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$1$};
\node at (b) {$0$};
\node at (c) {$1$};
\node at (d) {$0$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture}&
%%%%%%%%%%%%%%%%%%%%%%
\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw (a)--(0,0);
\draw[line width=0.5mm] (b)--(0,0);
\draw[line width=0.5mm] (c)--(0,0);
\draw (d)--(0,0);
\draw[fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$0$};
\node at (b) {$1$};
\node at (c) {$1$};
\node at (d) {$0$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture}&
%%%%%%%%%%%%%%%%%%%%%%
\begin{tikzpicture}
\coordinate (a) at (-.75, 0);
\coordinate (b) at (0, .75);
\coordinate (c) at (.75, 0);
\coordinate (d) at (0, -.75);
\coordinate (aa) at (-.75,.5);
\coordinate (cc) at (.75,.5);
\draw[line width=0.5mm] (a)--(0,0);
\draw (b)--(0,0);
\draw (c)--(0,0);
\draw[line width=0.5mm] (d)--(0,0);
\draw[fill=white] (a) circle (.25);
\draw[fill=white] (b) circle (.25);
\draw[fill=white] (c) circle (.25);
\draw[fill=white] (d) circle (.25);
\node at (0,1) { };
\node at (a) {$1$};
\node at (b) {$0$};
\node at (c) {$0$};
\node at (d) {$1$};
\path[fill=white] (0,0) circle (.2);
\node at (0,0) {$x$};
\end{tikzpicture} \\
\midrule
  1 & 1 & 1 & \beta(x \oplus y) & 1 + \beta(x \oplus y) & 1 \\
\bottomrule
\end{array}\]
\caption{Boltzmann weights of the semidual model.}
\label{fig:dual_model_wts}
\end{figure}

We define the \defn{semidual model} $\Dstates$ to be the colored lattice model on an $n \times n$ grid using the $L$-matrix given in Figure~\ref{fig:dual_model_wts} and boundary conditions as follows.
The left (resp.\ bottom) boundary condition is the colors $c_n > \cdots > c_1$ from top-to-bottom (resp.\ left-to-right); the top and right boundary edges are all $0$.
Since no colors cross, we forget the coloring, but unlike before, we obtain an equivalent model with no dependency on $w$.

\begin{proposition}
\label{prop:map_semidual}
There exists a bijection $\Phi \colon \Gstates \to \Dstates$ given by
\begin{align*}
\begin{tikzpicture}[scale=0.35,baseline=5]
\draw[very thin,gray] (0,0) rectangle (2,2);
\end{tikzpicture}
& \mapsto
\begin{tikzpicture}[scale=0.35,baseline=5]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, darkred] (0,1) -- (2,1);
\end{tikzpicture}\,,
&
\begin{tikzpicture}[scale=0.35,baseline=5]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, blue] (1,0) -- (1,2);
\end{tikzpicture}
& \mapsto
\begin{tikzpicture}[scale=0.35,baseline=5]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, darkred] (1,2) -- (2,1);
\draw[very thick, darkred] (0,1) -- (1,0);
\end{tikzpicture}\,,
&
\begin{tikzpicture}[scale=0.35,baseline=5]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, blue] (0,1) -- (1,1) -- (1,2);
\end{tikzpicture}
& \mapsto
\begin{tikzpicture}[scale=0.35,baseline=5]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, darkred] (1,2) -- (2,1);
\end{tikzpicture}\,,
&
\begin{tikzpicture}[scale=0.35,baseline=5]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, blue] (1,0) -- (1,2);
\draw[very thick, blue] (0,1) -- (2,1);
\end{tikzpicture}
& \mapsto
\begin{tikzpicture}[scale=0.35,baseline=5]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, darkred] (1,0) -- (1,2);
\end{tikzpicture}\,,
&
\begin{tikzpicture}[scale=0.35,baseline=5]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, blue] (0,1) -- (2,1);
\end{tikzpicture}
& \mapsto
\begin{tikzpicture}[scale=0.35,baseline=5]
\draw[very thin,gray] (0,0) rectangle (2,2);
\end{tikzpicture}\,,
&
\begin{tikzpicture}[scale=0.35,baseline=5]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, blue] (1,0) -- (1,1) -- (2,1);
\end{tikzpicture}
& \mapsto
\begin{tikzpicture}[scale=0.35,baseline=5]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[very thick, darkred] (0,1) -- (1,0);
\end{tikzpicture}\,.
\end{align*}
\end{proposition}

We note that the map in Proposition~\ref{prop:map_semidual} is defined by interchanging $0 \leftrightarrow 1$ on the horizontal (auxiliary space) component between the models.

\begin{example}
\label{ex:4x4_semidual}
We apply the bijection defined in Proposition~\ref{prop:map_semidual} to Figure~\ref{fig:colored_state} (right):
\[
\begin{tikzpicture}[scale=0.3,baseline=30]
%\fill[black!10] (2,0) -- (2,2) -- (4,2) -- (4,4) -- (6,4) -- (6,6) -- (8,6) -- (8,0) -- cycle;
\draw[very thin,gray] (0,0) grid[step=2] (8,8);
\draw[very thick, blue] (1,0) -- (1,5) -- (5,5) -- (5,7) -- (8,7);
\draw[very thick, blue] (3,0) -- (3,1) -- (8,1);
\draw[very thick, blue] (5,0) -- (5,3) -- (8,3);
\draw[very thick, blue] (7,0) -- (7,5) -- (8,5);
\end{tikzpicture}
\longmapsto
\begin{tikzpicture}[scale=0.3,baseline=30]
%\fill[black!10] (2,0) -- (2,2) -- (4,2) -- (4,4) -- (6,4) -- (6,6) -- (8,6) -- (8,0) -- cycle;
\draw[very thin,gray] (0,0) grid[step=2] (8,8);
\draw[very thick, darkred] (0,7) -- (4,7) -- (7,4) -- (7,0);
\draw[very thick, darkred] (0,5) -- (2,3) -- (4,3) -- (5,2) -- (5,0);
\draw[very thick, darkred] (0,3) -- (3,0);
\draw[very thick, darkred] (0,1) -- (1,0);
\end{tikzpicture}\,.
\]
\end{example}

%\begin{figure}
%\[
%\begin{array}{c@{\qquad}c@{\qquad}c@{\qquad}c@{\qquad}c}
%\toprule
%\begin{tikzpicture}[scale=0.7]
%\draw (0,0) to [out = 0, in = 180] (2,2);
%\draw (0,2) to [out = 0, in = 180] (2,0);
%\draw[fill=white] (0,0) circle (.35);
%\draw[fill=white] (0,2) circle (.35);
%\draw[fill=white] (2,0) circle (.35);
%\draw[fill=white] (2,2) circle (.35);
%\node at (0,0) {$1$};
%\node at (0,2) {$1$};
%\node at (2,2) {$1$};
%\node at (2,0) {$1$};
%\node at (2,0) {$1$};
%\path[fill=white] (1,1) circle (.3);
%\node at (1,1) {$x_i,x_j$};
%\end{tikzpicture}&
%\begin{tikzpicture}[scale=0.7]
%\draw (0,0) to [out = 0, in = 180] (2,2);
%\draw (0,2) to [out = 0, in = 180] (2,0);
%\draw[fill=white] (0,0) circle (.35);
%\draw[fill=white] (0,2) circle (.35);
%\draw[fill=white] (2,0) circle (.35);
%\draw[fill=white] (2,2) circle (.35);
%\node at (0,0) {$0$};
%\node at (0,2) {$0$};
%\node at (2,2) {$0$};
%\node at (2,0) {$0$};
%\path[fill=white] (1,1) circle (.3);
%\node at (1,1) {$x_i,x_j$};
%\end{tikzpicture}&
%\begin{tikzpicture}[scale=0.7]
%\draw (0,0) to [out = 0, in = 180] (2,2);
%\draw (0,2) to [out = 0, in = 180] (2,0);
%\draw[fill=white] (0,0) circle (.35);
%\draw[fill=white] (0,2) circle (.35);
%\draw[fill=white] (2,0) circle (.35);
%\draw[fill=white] (2,2) circle (.35);
%\node at (0,0) {$1$};
%\node at (0,2) {$0$};
%\node at (2,2) {$1$};
%\node at (2,0) {$0$};
%\path[fill=white] (1,1) circle (.3);
%\node at (1,1) {$x_i,x_j$};
%\end{tikzpicture}&
%\begin{tikzpicture}[scale=0.7]
%\draw (0,0) to [out = 0, in = 180] (2,2);
%\draw (0,2) to [out = 0, in = 180] (2,0);
%\draw[fill=white] (0,0) circle (.35);
%\draw[fill=white] (0,2) circle (.35);
%\draw[fill=white] (2,0) circle (.35);
%\draw[fill=white] (2,2) circle (.35);
%\node at (0,0) {$0$};
%\node at (0,2) {$1$};
%\node at (2,2) {$1$};
%\node at (2,0) {$0$};
%\path[fill=white] (1,1) circle (.3);
%\node at (1,1) {$x_i,x_j$};
%\end{tikzpicture}&
%\begin{tikzpicture}[scale=0.7]
%\draw (0,0) to [out = 0, in = 180] (2,2);
%\draw (0,2) to [out = 0, in = 180] (2,0);
%\draw[fill=white] (0,0) circle (.35);
%\draw[fill=white] (0,2) circle (.35);
%\draw[fill=white] (2,0) circle (.35);
%\draw[fill=white] (2,2) circle (.35);
%\node at (0,0) {$1$};
%\node at (0,2) {$0$};
%\node at (2,2) {$0$};
%\node at (2,0) {$1$};
%\path[fill=white] (1,1) circle (.3);
%\node at (1,1) {$x_i,x_j$};
%\end{tikzpicture}\\
%\midrule
%1 + \beta x_j & 1 + \beta x_i & \beta (x_j - x_i) & 1 + \beta x_j & 1 + \beta x_i \\
%\bottomrule
%\end{array}
%\]
%\caption{The $R$-matrix for the semidual model.}
%\label{fig:dual_R_matrix}
%\end{figure}

Now we want to reintroduce the vexillary permutation $w$ into these uncolored models.
If we restrict our model to $\Lambda_w$ (as opposed to an $n \times n$ grid), we can use~\cite[Lemma~7.2]{Weigandt20} (see also~\cite[Cor.~3.3]{KMY09}) to see that there are no vertices of type $\tt{a}_2$ nor $\tt{a}_2^{\dagger}$ in $\Gstates_w$.
Therefore we have an uncolored five-vertex model whose partition function is $\beta^{\ell(w)} \G_w(\xx, \yy; \beta)$.
Equivalently for the corresponding semidual model on $\Lambda_w$ there are no vertical lines, and the states can be thought of as a family of nonintersecting lattice paths.
(These are also the tiles in~\cite[Eq.~(7)]{WZJ19} rotated 180 degrees and reflected across the vertical axis with $z \mapsto 1 - (x \oplus y)$ at $\beta = -1$.)
In terms of the partition function, all this does is remove the $\beta^{\ell(w)}$ as only the weight of vertex $\overline{\tt{b}}_2$ changes by removing the $\beta$, of which there are precisely $\ell(w)$ such vertices.

\begin{proposition}
The model $\Dstates_w$ is integrable with
$
\beta^{\ell(w)} Z(\Dstates_w; \xx, \yy; \beta) = Z(\Gstates_w; \xx, \yy; \beta).
$
\end{proposition}

Let $F_w := (F_i)_{i=1}^k$ denote the heights of the right endpoints of the paths in $\Lambda_w$ that end on the right boundary.
So the tile immediately to the right of such a boundary point is a
$
\begin{tikzpicture}[scale=0.25,baseline=4]
\draw[very thin,gray,fill=black!10] (0,0) rectangle (2,2);
\draw[thick, darkred] (0,1) -- (1,0);
\end{tikzpicture}
$
not in $\Lambda_w$.
Any other path that does not has such a right endpoint must simply move diagonally.
The sequence $F_w$ is exactly to the flagging associated to $w$.

%\begin{example}
%We apply the bijection $\Phi$ from Proposition~\ref{prop:map_semidual} to the vexillary permutation $w = [8,7,1,6,2,9,5,3,4]$ (written in one-line notation) % $w^{-1} = [3,5,8,9,7,4,2,1,6]$
%\[
%\begin{tikzpicture}[scale=0.3,baseline=70]
%\fill[black!10] (0,0) -- (0,4) -- (8,4) -- (8,6) -- (10,6) -- (10,14) -- (12,14) -- (12,16) -- (14,16) -- (14,18) -- (18,18) -- (18,0) -- cycle;
%\draw[very thin,gray] (0,0) grid[step=2] (18,18);
%\foreach \y/\x in {1/8,2/7,3/1,4/6,5/2,6/9,7/5,8/3,9/4} {
%    \draw[very thick, blue] (2*\x-1,0) -- (2*\x-1,18-2*\y+1) -- (18,18-2*\y+1);
%}
%\end{tikzpicture}
%\longmapsto
%\begin{tikzpicture}[scale=0.3,baseline=70]
%\fill[black!10] (0,0) -- (0,4) -- (8,4) -- (8,6) -- (10,6) -- (10,14) -- (12,14) -- (12,16) -- (14,16) -- (14,18) -- (18,18) -- (18,0) -- cycle;
%\draw[very thin,gray] (0,0) grid[step=2] (18,18);
%\draw[very thick, darkred] (0,17) -- (14,17) -- (15,16) -- (15,8) -- (17,6) -- (17,0);
%\draw[very thick, darkred] (0,15) -- (12,15) -- (13,14) -- (13,8) -- (15,6) -- (15,0);
%\draw[very thick, darkred] (0,13) -- (2,11) -- (10,11) -- (11,10) -- (11,8) -- (13,6) -- (13,0);
%\draw[very thick, darkred] (0,11) -- (4,7) -- (10,7) -- (11,6) -- (11,0);
%\draw[very thick, darkred] (0,9) -- (4,5) -- (8,5) -- (9,4) -- (9,0);
%\foreach \x in {7,5,3,1}
%    \draw[very thick, darkred] (0,\x) -- (\x,0);
%\end{tikzpicture}\,,
%\]
%where we have shaded the tiles that do not belong the partition $\Lambda_w$.
%The heights of the boundary points are $F_w = (1, 2, 4, 6, 7)$  (cf.~\cite[Ex.~5.7]{KMY09}).
%\end{example}

Now if we rotate the semidual model $\Dstates_w$ by 180 degrees and extend from the endpoints in the (rotated) shape $\Lambda_w$ by diagonal lines (which go to the northwest), we obtain precisely a state in the uncolored model $\states_{\lambda_w}$ (see also~\cite{MS13}).
Thus we can apply the natural bijection $\Theta$ between marked states, where we allow only tiles
$
\begin{tikzpicture}[scale=0.25,baseline=4]
\draw (0,0) rectangle (2,2);
\draw[thick, darkred] (1,2) -- (2,1);
\end{tikzpicture}
$
to be marked, and set-valued tableaux via marked Gelfand--Tsetlin patterns from~\cite[Sec.~2.3]{BSW20}.
However, the flagging $F_w$ imposes a restriction on the possible states and set-valued tableaux.
It is straightforward to see that this precisely corresponds to restricting to the set of flagged set-valued tableau $\svt_{\lambda_w,F_w}$.
Hence, we have a new proof of Theorem~\ref{thm:vexillary_flagged}.

As in~\cite[Cor.~5.9]{KMY09}, this gives an integrable systems proof of~\cite[Thm~3.1]{Buch02}.
The bijection $\Theta$ is also the same as the bijection from pipe dreams to $\svt_{\lambda_w,F_w}$ given in~\cite[Prop.~5.3]{KMY09}, which is different from the formula in~\cite{FK94} (see, \textit{e.g.},~\cite[Ex.~5.10]{KMY09}).

%Next we consider the \defn{uncolored model} (\textit{i.e.}, only one color $1$).
%Let $\states_{\lambda}$ denote the uncolored model with the right boundary being $1$, left and bottom boundaries being $0$, and top boundary being the $01$-sequence of $\lambda$ in reverse.

We give new a proof of~\cite[Thm.~8.7]{McNamara06} and~\cite{MS13,WZJ19} by taking the stable limit of the semidual model $\Dstates_{1^k \times w}$ as $k \to \infty$ and restricting to a finite number of variables.

\begin{theorem}[{\!\cite{MS13,WZJ19}}]
\label{thm:uncolored_factorial}
The partition function of the stable limit model equals
$
\G_{\lambda_w}(\xx | \yy;  \beta).
$
\end{theorem}

\begin{example}
We consider $\lambda = (1)$ and $n = 2$. We consider $w = [2, 1]$ and $1^2 \times w$:
\[
\begin{tikzpicture}[scale=0.3,baseline=30]
\fill[black!10] (0,0) -- (0,2) -- (2,2) -- (2,4) -- (4,4) -- (4,0) -- cycle;
\draw[very thin,gray] (0,0) grid[step=2] (4,4);
\draw[very thick, blue] (1,0) -- (1,1) -- (4,1);
\draw[very thick, blue] (3,0) -- (3,3) -- (4,3);
\end{tikzpicture}\,,
\qquad
\begin{tikzpicture}[scale=0.3,baseline=30]
\fill[black!10] (0,0) -- (0,2) -- (6,2) -- (6,8) -- (8,8) -- (8,0) -- cycle;
\draw[very thin,gray] (0,0) grid[step=2] (8,8);
\draw[very thick, blue] (5,0) -- (5,1) -- (8,1);
\draw[very thick, blue] (7,0) -- (7,3) -- (8,3);
\draw[very thick, blue] (3,0) -- (3,5) -- (8,5);
\draw[very thick, blue] (1,0) -- (1,7) -- (8,7);
\end{tikzpicture}\,,
\qquad\qquad
\begin{tikzpicture}[scale=0.3,baseline=30]
\fill[black!10] (0,0) -- (0,2) -- (2,2) -- (2,4) -- (4,4) -- (4,0) -- cycle;
\draw[very thin,gray] (0,0) grid[step=2] (4,4);
\draw[very thick, darkred] (0,1) -- (1,0);
\draw[very thick, darkred] (0,3) -- (2,3) -- (3,2) -- (3,0);
\end{tikzpicture}\,,
\qquad
\begin{tikzpicture}[scale=0.3,baseline=30]
\fill[black!10] (0,0) -- (0,2) -- (6,2) -- (6,8) -- (8,8) -- (8,0) -- cycle;
\draw[very thin,gray] (0,0) grid[step=2] (8,8);
\draw[very thick, darkred] (0,1) -- (1,0);
\draw[very thick, darkred] (0,3) -- (3,0);
\draw[very thick, darkred] (0,5) -- (5,0);
\draw[very thick, darkred] (0,7) -- (4,3) -- (6,3) -- (7,2) -- (7,0);
\end{tikzpicture}\,,
\]
where we have drawn the $\Gstates_w$ states on the left and the semidual states on the right.
\end{example}

We also note that the symmetry used in~\cite[Lemma~8.1]{Weigandt20} is precisely the natural symmetry from reflecting the semidual model along the $y = x$ line.
Furthermore, the bijection in \cite[Lemma~8.2]{Weigandt20} comes from the reflected elementary excitations/emissions, where we instead consider the paths in $\Lambda_w$ (which in this case equals $\lambda_w$) as being fixed.


%We can relate a state of our models to \defn{excited Young diagram} (EYD), a combinatorial object introduced independently in~\cite{Kreiman05} and~\cite{IN09} and extended for K-theory in~\cite{IN13,GK15}.
%Let $\lambda \subseteq \mu$.
%The set of excited Young diagrams $\eyd_{\lambda,\mu}$ is a subset of boxes of the Young diagram of $\mu$ generated from $\lambda$ by the local moves called \defn{elementary excitations}:
%\[
%\begin{tikzpicture}[scale=0.5,baseline=10]
%\draw[very thin,gray] (0,0) rectangle (2,2);
%\draw[very thin,gray] (0,1) -- (2,1);
%\draw[very thin,gray] (1,0) -- (1,2);
%\fill[UQgold] (0.2,1+0.2) rectangle (0.8,1+0.8);
%\end{tikzpicture}
%\longmapsto
%\begin{tikzpicture}[scale=0.5,baseline=10]
%\draw[very thin,gray] (0,0) rectangle (2,2);
%\draw[very thin,gray] (0,1) -- (2,1);
%\draw[very thin,gray] (1,0) -- (1,2);
%\fill[UQgold] (1+0.2,0.2) rectangle (1+0.8,0.8);
%\end{tikzpicture}\,,
%\qquad\qquad
%\begin{tikzpicture}[scale=0.5,baseline=10]
%\draw[very thin,gray] (0,0) rectangle (2,2);
%\draw[very thin,gray] (0,1) -- (2,1);
%\draw[very thin,gray] (1,0) -- (1,2);
%\fill[UQgold] (0.2,1+0.2) rectangle (0.8,1+0.8);
%\end{tikzpicture}
%\longmapsto
%\begin{tikzpicture}[scale=0.5,baseline=10]
%\draw[very thin,gray] (0,0) rectangle (2,2);
%\draw[very thin,gray] (0,1) -- (2,1);
%\draw[very thin,gray] (1,0) -- (1,2);
%\fill[UQgold] (0.2,1+0.2) rectangle (0.8,1+0.8);
%\fill[UQgold] (1+0.2,0.2) rectangle (1+0.8,0.8);
%\end{tikzpicture}\,,
%\]
%
%
%In terms of the double Grothendieck model, an excited Young diagram consists of the tiles for $\tt{a}_1$ vertices and marked $\tt{c}_1$ vertices.
%It is straightforward to see this is an equivalent definition: The local moves and their inverses from~\cite[Eq.~(7.1), Eq.~(7.2)]{Weigandt20} (with consideration of the marked corners) are precisely the elementary excitations and emissions.
%Using the semidual model, an excited Young diagram is the set of
%$
%\begin{tikzpicture}[scale=0.25,baseline=4]
%\draw[very thin,gray] (0,0) rectangle (2,2);
%\draw[thick, darkred] (0,1) -- (2,1);
%\end{tikzpicture}
%$
%tiles and marked
%$
%\begin{tikzpicture}[scale=0.25,baseline=4]
%\draw[very thin,gray] (0,0) rectangle (2,2);
%\draw[thick, darkred] (1,2) -- (2,1);
%\end{tikzpicture}
%$
%tiles.
%Elementary excitations correspond to moving the
%$
%\begin{tikzpicture}[scale=0.25,baseline=4]
%\draw[very thin,gray] (0,0) rectangle (2,2);
%\draw[thick, darkred] (0,1) -- (2,1);
%\end{tikzpicture}
%$
%down diagonally one step, adding a marking, or moving markings along a diagonal (when possible).
%
%\begin{proposition}
%For $\mathcal{M} = \Gstates_w, \Dstates_w$,
%$
%\Gamma_{\mathcal{M}} \colon \mathcal{M} \to \eyd_{\lambda_w,\Lambda_w}
%$
%are weight preserving bijections.
%\end{proposition}
%
%Let $\Psi$ denote the bijection between excited Young diagrams and set-valued tableaux from~\cite{GK15}.
%Recall $\Theta \colon \Dstates_w \to \svt_{\lambda_w,F_w}$ is the restriction of the bijection from~\cite[Sec.~2.3]{BSW20}.
%
%\begin{proposition}
%Let $w$ be a vexillary permutation.
%Then the following diagram commutes:
%\[
%\xymatrix@R=3em@C=4em{
%\Gstates_w \ar[r]^{\Phi} \ar[d]_{\Gamma_{\Gstates_w}} & \Dstates_w \ar[dl]_{\Gamma_{\Dstates_w}} \ar[d]^{\Theta} \\
%\eyd_{\lambda_w,\Lambda_w} \ar[r]_{\Psi} & \svt_{\lambda_w,F_w}
%}
%\]
%\end{proposition}



Another benefit of the semidual model is being able to interpret a state as a family of nonintersecting lattice paths (NILPs).
The \defn{Lindstr\"om--Gessel--Viennot (LGV) lemma} posits that the sum of the weights over all NILPs in a edge-weighted directed graph can be given as a determinant of the matrix $\begin{bmatrix} p_{ab} \end{bmatrix}_{a,b=1}^n$, where $p_{a,b}$ is the sum over each path from the $a$-th starting point to the $b$-th ending point and taking the product of the edge weights.
Thus, we want to construct a weight preserving bijection from a marked state of the semidual model into a NILP to express the partition function as a determinant.

We use the following local translation from tiles to a directed graph:
\[
\begin{tikzpicture}[scale=0.6,baseline=30,>=latex]
\draw[very thin,gray] (0,0) rectangle (2,4);
\draw[very thin,gray] (0,2) -- (2,2);
\draw[very thick, darkred, ->] (1,3) .. controls (0.5,2.5) and (0.5,1.5) .. (1,1);
\foreach \y in {0,2} {
\draw[very thick, blue, ->] (0,\y+1) -- (1,\y+1);
\draw[very thick, blue, ->] (0,\y+1) -- (1,\y+1);
\draw[very thick, UQgold, ->] (1,\y+1) -- (2,\y+1);
\draw[very thick, blue, ->] (1,\y+1) -- (1,\y+0);
\draw[very thick, blue, ->] (1,\y+2) -- (2,\y+1);
\fill[darkgreen] (0,\y+1) circle (0.1);
\fill[darkgreen] (1,\y+1) circle (0.1);
\fill[darkgreen] (2,\y+1) circle (0.1);
\fill[darkgreen] (1,\y+0) circle (0.1);
}
\fill[darkgreen] (1,4) circle (0.1);
\end{tikzpicture}\,,
\]
with a non-trivial edge weight on only the second horizontal step in each tile that depends on the position of the tile.
We call the blue and gold edges \defn{Schubert edges} and the red edges \defn{K-theory edges}.
All edges have weight $1$ except for the Schubert edges in gold, which have weight $w(i, j)$ that we will give later.
We can restrict to the paths that are not simply diagonals (\textit{i.e.}, have at least one horizontal step).

We first consider what happens when we apply the LGV lemma na\"ively using the tiles.
In this case, we see that we must have $\beta = 0$, and so we take $w(i, j) = x_i \oplus y_j$, remove the K-theory edges, and only consider unmarked states.
Let $h_b$ denote the height of the $b$-th endpoint and $\lambda = \lambda_w$.
One can see that
$
p_{ab} = \G_{(\lambda_b + a - b)}(x_a, \dotsc, x_{h_b} | \yy; 0).
$
Thus, we have the following expression for double Schubert polynomials by the LGV lemma.

\begin{theorem}
\label{thm:LGV_Schubert}
If $w$ is vexillary, then
$
Z(\Dstates_w; \xx, \yy; 0) = \det \begin{bmatrix} p_{ab} \end{bmatrix}_{a,b=1}^n = \G_w(\xx, \yy; 0).
$
\end{theorem}

Our formula at $\yy = 0$ likely differs from~\cite{Wachs85} by some sequence of row operations.

\begin{example}
Consider the permutation $w = s_2 s_3 s_2$ (for an example of a state in $\Dstates_w$, see Example~\ref{ex:4x4_semidual}).
We compute $\lambda_w = (2,1)$ and $F_w = (2, 3)$.
Applying Theorem~\ref{thm:LGV_Schubert},
\begin{align*}
%b_1 = 2,   h_2 = 3,
Z(\Dstates_w; \xx, \yy; 0) & = \det \begin{bmatrix}
\G_{(2)}(x_1, x_2 | \yy; 0) & 1 & 0 & 0 \\
\G_{(3)}(x_2 | \yy; 0) & \G_{(1)}( x_2, x_3 | \yy; 0) & 0 & 0 \\
0 & \G_{(2)}( x_3 | \yy; 0) & 1 & 0 \\
0 & 0 & \G_{(1)}( x_4 | \yy; 0) & 1
\end{bmatrix}
%\\ & = \det \begin{bmatrix}
%\G_{(2)}(x_1, x_2 | \yy; 0) & 1 & 0 & 0 \\
%\prod_{j=1}^3 x_2 \oplus y_j & x_2 \oplus y_1 + x_3 \oplus y_2& 0 & 0 \\
%0 & (x_3 \oplus y_1) (x_3 \oplus y_2) & 1 & 0 \\
%0 & 0 & x_4 \oplus y_1 & 1
%\end{bmatrix}
\\ & = \det \begin{bmatrix}
\G_{(2)}(x_1, x_2 | \yy; 0) & 1 \\
\prod_{j=1}^3 x_2 \oplus y_j & x_2 \oplus y_1 + x_3 \oplus y_2 \\
\end{bmatrix},
\end{align*}
where
$
\G_{(2)}(x_1, x_2 | \yy; 0) = (x_1 \oplus y_1)(x_1 \oplus y_2) + (x_1 \oplus y_1)(x_2 \oplus y_3) + (x_2 \oplus y_2)(x_2 \oplus y_3).
$
Note that going from the $4 \times 4$ determinant to the $2 \times 2$ determinant comes from the fact that two of the paths contain no horizontal steps.
Hence, we have
\begin{align*}
Z(\Dstates_w; \xx, \yy; 0) & =
(x_1 \oplus y_1)(x_1 \oplus y_2)(x_2 \oplus y_1) + (x_1 \oplus y_1)(x_2 \oplus y_3)(x_2 \oplus y_1)
\\ & \hspace{20pt} + (x_1 \oplus y_1)(x_1 \oplus y_2)(x_3 \oplus y_2) + (x_1 \oplus y_1)(x_2 \oplus y_3)(x_3 \oplus y_2)
\\ & \hspace{20pt} + (x_2 \oplus y_2)(x_2 \oplus y_3)(x_3 \oplus y_2)
 = \G_{\lambda_w, F_w}(x_1, x_2 | \yy; 0),
\end{align*}
with corresponding flagged set-valued tableaux ($\beta = 0$ gives semistandard tableaux)
\[
\ytableaushort{11,2}\,,
\qquad
\ytableaushort{12,2}\,,
\qquad
\ytableaushort{11,3}\,,
\qquad
\ytableaushort{12,3}\,,
\qquad
\ytableaushort{22,3}\,.
\]
If we compare this with the formula from~\cite[Thm.~1.3]{Wachs85}, we have
\begin{align*}
% p_{ab} = h_{\lambda_b - b + a}(F_b)
\G_{\lambda_w, F_w}(\xx | 0; 0) & =
\det \begin{bmatrix}
%h_{2}(x_1, x_2) & 1 \\
%h_{3}(x_1, x_2) & h_{1}(x_1,x_2,,x_3)
x_1^2 + x_1 x_2 + x_2^2 & 1 \\
x_1^3 + x_1^2 x_2 + x_1 x_2^2 + x_2^3 & x_1 + x_2 + x_3
\end{bmatrix},
%\\ & =  x_1^3 + x_1^2 x_2 + x_1 x_2^2 + x_1^2 x_2 + x_1 x_2^2 + x_2^3 + x_1^2 x_3 + x_1 x_2 x_3 + x_2^2 x_3
%\\ & =  x_1^3 + 2 x_1^2 x_2 + 2 x_1 x_2^2 + x_2^3 + x_1^2 x_3 + x_1 x_2 x_3 + x_2^2 x_3
%\\ & \hspace{20pt} - (x_1^3 + x_1^2 x_2 + x_1 x_2^2 + x_2^3)
\\ & =  x_1^2 x_2 + x_1 x_2^2 + x_1^2 x_3 + x_1 x_2 x_3 + x_2^2 x_3.
\end{align*}
Note that subtracting $x_1$ times the first row from the second in the above matrix is precisely the $2 \times 2$ determinant used to compute $Z(\Dstates_w; \xx, 0; 0)$.
\end{example}

If instead we want generic $\beta$, then we take $w(i,j) = \beta( x_i \oplus y_j)$ to get a relation with the $L$-matrix from Figure~\ref{fig:dual_model_wts}.
However, it is impossible for the NILPs to agree if marking a
$
\begin{tikzpicture}[scale=0.25,baseline=4]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[thick, darkred] (1,2) -- (2,1);
\end{tikzpicture}
$
tile corresponds to traveling along the K-theory edge as we can now also use
$
\begin{tikzpicture}[scale=0.25,baseline=4]
\draw[very thin,gray] (0,0) rectangle (2,2);
\draw[thick, darkred] (1,2) -- (1,0);
\end{tikzpicture}
$
.



%%%%%%%%%%%%%%%%%%%%
\acknowledgments{
The authors thank A.~Weigandt, K.~Motegi, K.~Sakai, and P.~Zinn-Justin for useful discussions and the authors of~\cite{frozenpipes} for sharing their preprint. 
%This paper benefited from computations using \textsc{SageMath}~\cite{sage}.
}


%\bibliographystyle{plain} 
%\bibliography{models}
\printbibliography

\end{document}
