# Inverse Design of Frequency Selective Surface Using Physics-Informed Neural
Networks

Yu-Hang Liu  Bing-Zhong Wang  Ren Wang

###### Abstract

This paper uses Physics-Informed Neural Network (PINN) to design Frequency
Selective Surface (FSS). PINN integrates physical information into the loss
function, so training PINN does not require a dataset, which will be faster
than traditional neural networks for inverse design. The specific
implementation process of this paper is to construct a PINN using field
solutions of mode matching method, and given the design goal, the PINN can
train the shape of the diaphragm. The single frequency FSS that meets the
design goal was designed using the inverse design method proposed in this
paper without a dataset, verifying the rationality of using PINN to design
metasurfaces. Using PINN for inverse design is not limited to single frequency
FSS, but can also be used for more complex metasurface.

Inverse Design of Frequency Selective Surface Using Physics-Informed Neural
Networks

Institute of Applied Physics, University of Electronic Science and Technology
of China ,Chengdu, 611731, China<EMAIL_ADDRESS>
##  I Introduction

In 2019, Raissi et al.[1] first proposed PINN, which has since attracted
widespread attention. PINN achieves the goal of training without a dataset by
incorporating physical information into the loss function. PINN was first
developed in fluid mechanics, for example, Mehta et al.[2] obtained a variable
order fractional model using PINN to predict the mean velocity distribution
and Reynolds stress at any Reynolds number. Gradually, PINN also began to be
applied in the electromagnetics[3, 4]. Chen and Lu et al. used PINN for
metamaterial design to solve the problem of inverse scattering of
dielectric[5]. In addition, Chen et al. also used PINN to solve the inverse
design problem of the shape of scatterers in electromagnetic devices[6]. These
studies indicate that PINN can be used for inverse design of electromagnetic
structures, but current inverse designs are all dielectric-loaded and there
have been few issues with metal-loaded.

Based on the advantages of PINN, it can be applied in inverse design. In this
paper, PINN is used for inverse design of single frequency FSS. In Section II,
a method for inverse designing FSS using PINN is proposed. In Section III, the
training results are presented and simulated. In Section IV, analysis and
outlook are conducted on this method.

##  II Method

The designed FSS consists of FSS unit cells arranged tightly to form an
infinite rectangular array, and the unit cell is shown in Figure 1. The
structure of the unit cell consists of one layer of dielectric and two layers
of diaphragm. The diaphragms are Perfect Electric Conductor (PEC) with
negligible thickness, attached to both sides of the dielectric. The thickness
of the medium in the unit is $d$, and the relative dielectric constant is
$\varepsilon_{r}$, the cross-section is a square with a side length of $a$.

Figure 1: FSS unit cell in infinite arrays.

The four sides of the unit cell satisfy periodic boundary conditions, and the
form of its electromagnetic field solution can be described by the Floquet
mode.

On the domain $x\in\left(0,a\right),y\in(0,a)$, the shape function of the two-
layer diaphragms is:

$g_{i}(x,y)=\begin{cases}1,&\text{Vacuum,$z=z_{i}$}\\\
0,&\text{PEC,$z=z_{i}$}\end{cases},\\\ i=1,2$ (1)

The incident wave is $\rm{TE_{00}}$. The mode matching method is used on both
sides of the metal diaphragms to establish the interaction relationship
between the metal diaphragm and the electromagnetic fields. Equation (2) shows
the principle of the field solution of the model.

$\sum C_{i}(\boldsymbol{E_{t(i)}},\boldsymbol{H_{t(i)}})=g\bigodot\sum
C_{i+1}(\boldsymbol{E_{t(i+1)}},\boldsymbol{H_{t(i+1)}})$ (2)

where, $\sum$ applies to modes. $C_{i}$ represent the mode coefficients of the
($i$-th) region, $\boldsymbol{{E}_{t}}$ and $\boldsymbol{{H}_{t}}$ represent
the tangential electromagnetic fields in Floquet mode. $\bigodot$ represents
the interaction relationship between the diaphragms and the electromagnetic
fields: when $g=0$, Equation (2) satisfies that the tangential electric field
is $0$; when $g=1$, Equation (2) satisfies the boundary condition that the
tangential electromagnetic fields are continuous at the interface of the
dielectric and vacuum.

Usually, the inverse design goal of FSS can be represented by S parameters,
which can be represented by certain mode coefficients. The control equation,
boundary conditions, and design goal of the inverse design problem are already
included in Equation (2), and the loss function $L$ can be directly
constructed using the 2-norm of the residual in (2).

$L=||res(Eq.(2))||_{2}^{2}$ (3)

Only $g_{i}\left(x,y\right)$ in $L$ has not been solved. Using a fully
connected neural network (FCNN) to generate the structure of the metal
diaphragms $g_{i}\left(x,y\right)$, obtaining $res(Eq.(2))$ by interacting
$g_{i}\left(x,y\right)$ with the electromagnetic field through operator
$\bigodot$, the final PINN model is shown in Figure 2.

Figure 2: PINN model.

After setting the design goal, the backpropagation algorithm is used to
correct the mode coefficients and parameters in the FCNN until the loss
function approaches 0, and then the $g_{i}\left(x,y\right)$ obtained is the
final shape of the diaphragms.

##  III Example

Using the PINN model in Section II, an FSS is trained to meet the design goal.

###  III-A Train

The design goal is to not transmit electromagnetic waves at a frequency of
15GHz, set $\left|S_{21}\left(12GHz\right)\right|=0.99$,
$\left|S_{21}\left(15GHz\right)\right|=0.1$,
$\left|S_{21}\left(18GHz\right)\right|=0.99$ for $\rm{{TE}_{00}}$ mode at Port
2. In the Equation (2), 121 TE modes and 121 TM modes are used. For
dielectric, $d=2mm$, $\varepsilon_{r}=3.2$, $a=10mm$. In the FCNN, there are 3
hidden layers, and each hidden layer has 32 neurons. The optimizer is Adam.

Set the training steps to $10k$, accelerate by GPU (A800), and complete the
training in one hour, four minutes, and twelve seconds. Finally, the shape of
the FSS diaphragms is shown in Figure 3.

(a)

(b)

Figure 3: The shape of FSS diaphragms. (a) $g_{1}\left(x,y\right)$; (b)
$g_{2}\left(x,y\right)$.

###  III-B Simulation

Simulate the structure using the frequency domain solver of full wave
simulation software, and the $S_{21}$ at Port 2 was obtained as shown in
Figure 4.

Define the error as Equation (4):

$\epsilon=\frac{f_{train}-f_{goal}}{f_{goal}}\times\%$ (4)

From Figure 4, it can be seen that the frequency corresponding to the minimum
value of $S_{21}$ for the training model is 15.288GHz, indicating that
$\epsilon=1.92\%$. The training model can meet the requirements of the design
goal very well, and thus we have successfully used the PINN method to inverse
design the FSS that matches the design goal.

Figure 4: $S_{21}$ of training FSS.

##  IV Conclusion

Using PINN, this paper successfully designed the FSS that meets the set
inverse design goal. Due to the fact that PINN does not require a dataset, it
is more efficient than using traditional neural networks for inverse design.
This paper introduces PINN into the design of FSS for the first time, and
numerical experiment have proven the correctness of this method. Although this
paper takes FSS as an example, this method is not limited to FSS. In fact,
many electromagnetic devices can be designed using this method, which will
promote the development of inverse design of electromagnetic devices.

## ACKNOWLEDGEMENT

This work was supported in part by the National Natural Science Foundation of
China under Grants 62171081 and U2341207, the Natural Science Foundation of
Sichuan Province under Grant 2022NSFSC0039, and the Aeronautical Science
Foundation of China under Grant 2023Z06208002.

## References

  * [1] M. Raissi, P. Perdikaris, and G. Karniadakis, “Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations,” _J. Comput. Phys._ , vol. 378, pp. 686–707, 2019.
  * [2] P. P. Mehta, G. Pang, F. Song, and G. E. Karniadakis, “Discovering a universal variable-order fractional model for turbulent couette flow using a physics-informed neural network,” _Fract. Calc. Appl. Anal._ , vol. 22, no. 6, pp. 1675–1688, 2019.
  * [3] Y. Zhang, H. Fu, Y. Qin, K. Wang, and J. Ma, “Physics-informed deep neural network for inhomogeneous magnetized plasma parameter inversion,” _IEEE Antennas and Wireless Propagat. Lett._ , vol. 21, no. 4, pp. 828–832, 2022.
  * [4] S. Li, Z. Liu, S. Fu, Y. Wang, and F. Xu, “Intelligent beamforming via physics-inspired neural networks on programmable metasurface,” _IEEE Trans. Antennas Propag._ , vol. 70, no. 6, pp. 4589–4599, 2022.
  * [5] Y. Chen, L. Lu, G. E. Karniadakis, and L. D. Negro, “Physics-informed neural networks for inverse problems in nano-optics and metamaterials,” _Opt. Express_ , vol. 28, no. 8, pp. 11 618–11 633, Apr 2020.
  * [6] Y. Chen and L. Dal Negro, “Physics-informed neural networks for imaging and parameter retrieval of photonic nanostructures from near-field data,” _APL Photonics_ , vol. 7, no. 1, p. 010802, 01 2022.


# Model CBOR Serialization for Federated Learning

Koen Zandberg  Freie Universität Berlin
<EMAIL_ADDRESS>Mayank Gulati  Freie Universität Berlin
<EMAIL_ADDRESS>Gerhard Wunder  Freie Universität Berlin
<EMAIL_ADDRESS>Emmanuel Baccelli  Inria
<EMAIL_ADDRESS>
###### Abstract

The typical federated learning workflow requires communication between a
central server and a large set of clients synchronizing model parameters
between each other. The current frameworks use communication protocols not
suitable for resource-constrained devices and are either hard to deploy or
require high-throughput links not available on these devices. In this paper,
we present a generic message framework using CBOR for communication with
existing federated learning frameworks optimised for use with resource-
constrained devices and low power and lossy network links. We evaluate the
resulting message sizes against JSON serialized messages where compare both
with model parameters resulting in optimal and worst case serialization
length, and with a real-world LeNet-5 model. Our benchmarks show that with our
approach, messages are up to 75 smaller in size when compared to the JSON
alternative.

##  I Introduction

AI, and in particular machine learning (ML) using deep neural networks (DNN)
have seen a spectacular development over the last decade. In this context,
nearly all verticals are substantially impacted by ML, typically based on a
data pipeline requiring the use of a model, i.e. a layered structure of
algorithms which interpret data and make decisions based on that data. This
model must first be trained in the learning phase, before it can be used for
inference and put in production.

Recently, the TinyML community has been demonstrating the feasibility of
executing model inference even on small microcontrollers, after these models
have been trained and compressed on more powerful machines, as the learning
phase typically requires enormous amounts of data and computing capacity. Even
more recently, however, the TinyML community explores the potential of
learning on low-power microcontrollers [1]. In this context, a trend is
federated learning (FL) a machine learning paradigm where a model is trained
across multiple decentralized devices without directly sharing their data with
a central server. FL and on-device training is attractive because of reasons
including privacy, as raw privacy sensitive data does not leave the edge
device, and customization with fine-tuning happening on-premises.

###  I-A Federated Learning Communication

The typical workflow of FL involves: (1) selecting participating devices; (2)
sending a global model to each device; (3) training the model on local data;
(4) sending local updates to a central server; (5) aggregating the updates to
obtain a new global model; and (6) repeating the process until convergence.
The resulting model is then sent back to the participating devices for
inference. Throughout the FL process, communication is crucial for managing
the exchange of model updates between the central server and the clients. It
enables the synchronization of models, preserves privacy, and facilitates
collaborative learning across distributed devices. Efficient and secure
communication protocols are essential for successful FL implementation.

Typical FL frameworks such as TensorFlow Federated [2], Flower [3], etc.
commonly rely on JSON [4] or gRPC [5] as part of their communication stack.
gRPC utilizes Protocol Buffers (Protobuf) [6] as its message structure for
data serialization and transmission. Protobuf is a language-agnostic format
that allows to define message types, fields, and optional values in a concise
and efficient manner for serializing, deserializing, and manipulating the
message objects. However, setting up gRPC dependencies on severely resource-
constrained devices can be challenging and human-readable JSON encoding is not
optimized for embedded machine-to-machine communication. To address this,
alternative communication protocols are often used. For instance, WebSockets
[7] present a lightweight and real-time communication solution that is well-
suited for such devices. MQTT [8], specifically designed for resource-
constrained environments, minimizes network bandwidth and power consumption
while ensuring reliable FL communication. Furthermore, the widely supported
HTTP/HTTPS protocols offer a standardized and user-friendly option for
transmitting model updates in FL workflows.

However with severely constrained devices these protocols are still too
resource-intensive and not available. Edge devices such as microcontrollers
used in smart appliances have severely limited processing capabilities and
memory, between 10100 and 16256. Furthermore the network link used by these
devices is not optimized for the low latency and high throughput required by
most protocols. The typical stack of combining TCP and HTTPS with JSON or gRPC
payloads puts a too heavy burden on these devices. While MQTT is already used
with FL, other lightweight alternatives for these protocols used in the
constrained device space such as MQTT-SN [9], CoAP [10] and CBOR [11] are
readily available, but have not been applied to the FL space yet.

###  I-B Contributions

In this paper, the work we present mainly consists in the following:

  * •

We propose TinyFL a generic message data framework for FL, on resource-
constrained network nodes such as microcontroller-based devices. This
framework enables efficient dissemination, monitoring and retrieval of ML
models among these nodes.

  * •

In order to minimize its footprint, TinyFL leverages the network protocol
stacks and libraries typically present in the firmware of resource-constrained
devices.

  * •

We evaluate the sizes of the messages incurred with TinyFL with a set of
different ML model sizes 111Source code for generating the results available
at: https://github.com/TinyPART/tinyfl-pemwn2023. We evaluate based both on
idealized ML models and on LeNet-5, a real-world model usable on
microcontrollers;

  * •

We show that the CBOR-encoded messages used by TinyFL reduce the serialized
size by up to 75 compared to a vanilla approach using JSON for instance. We
show that the largest messages in the framework are only sent occasionally
causing a minimal burden on the network link during the learning phase.

##  II Related Work

Previous research, as demonstrated by existing work such as [12] and TinyFedTL
[13], has attempted to enable FL training on small devices. However, these
studies lack a thorough analysis of computation and communication related to
different model sizes, which is essential for understanding the practicality
and suitability of FL on tiny devices. In contrast, EgdeML [14] emphasizes the
significance of a robust communication stack in FL systems and points out the
predominant focus on improving computation rather than optimizing the
communication layer in existing research. To address this challenge, we
propose a modular framework that facilitates the interaction between the
communication and computation layers, specifically designed for conducting FL
on constrained devices.

##  III Background

FL is a research area that has gathered significant attention in recent years.
It is a decentralized ML paradigm where multiple devices or clients
collaboratively train a global model without sharing their raw data. Instead,
model updates are exchanged between the clients and a central server, allowing
the server to aggregate and refine the shared model.

The concept of FL was introduced in the seminal paper [15]. This paper laid
the foundation for FL by proposing a framework to train deep neural networks
using decentralized data. The authors highlighted the challenges of FL, such
as communication efficiency and privacy preservation.

To address these challenges, subsequent research focused on improving
communication efficiency in FL. The paper by [16] proposed strategies such as
subsampling and quantization to reduce the amount of model updates exchanged
between the clients and the server.

As FL gained traction, system design considerations became crucial. Numerous
advancements have been made extending the initial FL framework and addressing
various aspects of deploying FL at scale. The comprehensive study [17] touchs
upon issues related to scalability, fault tolerance, and security in large-
scale FL systems.

Our research focuses on using small devices as FL clients to perform
computational and communication tasks that contribute to the overall learning
process. By utilizing tiny devices, our goal is to distribute workloads and
improve the efficiency of ML. We aim to tackle resource limitations and
optimize communication protocols, enabling effective learning on these
devices. Our ultimate aim is to contribute to the development of efficient and
privacy-preserving distributed ML systems.

###  III-A Hardware and Basic Communication aspects

The smallest of edge devices typically run on small constrained
microcontrollers with low power interconnected via low throughput network
links. These devices have limited memory and computational processing power
available, barely sufficient for small ML models. The resources available on
these devices varies between 10100 and 16256, with typical network links
available such as IEEE802.15.4 [18] limited to 250 with 127 maximum frame
size. In the usual network topology, these devices connect via a gateway to a
centralized and unconstrained entity acting as server. Depending on the exact
network topology, multiple network hops via intermediate (constrained) devices
are necessary for a device to reach the gateway and contact the server. These
restrictions translate into a set of protocols and message formats optimized
to deal with these constraints.

####  III-A1 CoAP

CoAP [10], as constrained counterpart to HTTP, provides a mechanism to
interact with the clients in a constrained environment without putting
significant burden on the wireless link and the client’s processing power. The
protocol lends itself for RESTful interaction between clients and server over
lossy and low power networks. The observe mechanism allows for a CoAP client
to subscribe to changes on a resource on a CoAP server, with publish/subscribe
semantics, letting the CoAP server provide it with updates when the resource
changes.

####  III-A2 CBOR

CBOR [11] is a serialisation format similar to JSON with the main difference
that it is a binary format. It is optimised to result in a small serialised
format and suitable for constrained links. As CBOR dynamically extends the
number of bytes required to encode numerical values, the encoded size heavily
depends on the exact values encoded in the structure. For example, low value
integers up to $23$ can be encoded in a single byte, with the number of bytes
used increasing gradually to increase the required numerical range by the
encoded value. Additionally, CBOR also supports tagged data, a set of
standardized tags are used to provide additional information on the following
item. This is used for example when encoding Universally Unique Identifiers,
which are encoded as a byte string with tag $37$. Existing protocols such as
SUIT [19] and SenML [20] make use of CBOR for serialising their messages when
used with constrained devices.

####  III-A3 CDDL

Describing the different CBOR data structures is possible using CDDL [21]. The
full expressiveness of CBOR, which exceeds that of JSON, can be unambiguously
defined via CDDL. It is both machine and human readable and can be used to
validate CBOR data instances.

##  IV Scenario

In the scenario described here we assume that the FL clients consists of a
large number of microcontrollers, networked together over an already secured
IEEE802.15.4 network using 6LoWPAN such as described by Figure 1. Existing
protocols are already available to provide mesh network capabilities and
connect devices together in a secure way using protocols such as 6TiSCH [22].
A number of software components are already present on the client firmware,
reusing these for the FL workflow would offer multiple benefits such as
reduced memory usage. The firmware running on the microcontrollers is assumed
to include a number of existing modules for protocols among at least: CoAP to
provide REST-like communication with a server and CBOR for serializing
messages. Furthermore, it is assumed that there is a protocol in place for
system-level management of the clients, such as CORECONF [23] to provide the
initial on-boarding and configuration of clients. While we limit the scenario
to using CoAP, other protocols optimised for constrained environments such as
MQTT-SN could also be used in the workflow without changing the message
formats.

##  V Architecture

Figure 1: CoAP communication between FL Server and Clients.

The full FL architecture is a multi-step process started and orchestrated by a
central server. As the first step, the server sets up the orchestration
process, defining the number of participating clients for training, minimum
fraction of these clients required for aggragation, the number of FL rounds to
be performed, and the stop condition for individual clients. Furthermore, the
server decides a minimum of data samples required in order to accomplish local
training. This is necessary to ensure that the local model is trained
suffiently enough to make its contribution count for global model aggregation.

Once the orchestration is configured, the server initializes a global model.
At the beginning of each round, a global model is sent to each participating
client device. Each client then independently trains the model by performing
several iterations of gradient update steps using their local dataset. The
clients have two types of datasets: a training set and a separate validation
set, used for training and evaluating models, respectively. Meanwhile, the
server observes if a particular client has been trained sufficiently. In
response, clients reply with the number of data samples seen so far during
training and other performance metrics, such as loss and accuracy, which can
be later used to determine the stopping condition for an individual client
when the metrics show no significant improvement. During our experimental
process, we incorporated a stopping condition based on the comparison between
the validation loss and the training loss. Specifically, when the validation
loss became lower than the training loss, the server would intervene and halt
the training process for that specific client.

After a sufficient number of clients respond, the server will request the
trained model parameters from these clients, along with the sizes of their
respective datasets. This is done in order to perform model aggregation, such
as weighted model averaging, as seen in the FedAvg [15] approach.

###  V-A Communication

Figure 2: CoAP communication timing diagram between FL Server and a single
client.

As described above, the FL workflow is a multi-step process over multiple
rounds. This requires multiple requests and responses from the server to the
clients. An overview of the communication flow between the server and a single
client is shown in Figure 2.

####  V-A1 Client configuration

The first requests from the server to the clients is a POST request with the
initial or new global model. This request is CBOR-encoded and is formatted as
shown in Listing 1.

Listing 1: CDDL description of a global model update payload

⬇

FL_Global_Model_Update = [

fl-model-identifier,

fl-model-round,

fl-model-params,

fl-continue-training : bool

]

fl-model-identifier = #6.37(bstr)

fl-model-round = uint

fl-model-params /= [+ float]

fl-model-params /= ta-float16le

fl-model-params /= ta-float32le

fl-model-params /= ta-float64le

The data in the request contains an UUID (the fl-model-identifier, with the
UUID encoded as tagged byte string) to identify the model and to allow for
multiple models simultaneously on the clients. A round number is included to
version the global model between rounds. Multiple encodings are allowed for
serialising the list of parameters, the simplest being an array of floating
point numbers, the CBOR encoding allowing for dynamically scaling between
half-float, float and doubles depending on the required accuracy for the
provided values. The four other encoding options can be used when the number
of parameters all use the same type and can be encoded as an homogeneous type
following the CBOR typed array format [24]. In this format the parameters are
encoded as a byte string with each parameter concatenated in the
representation specified by a CBOR tag around the byte string. Finally the
request includes a flag to specify whether the client should start training a
new local model based on the supplied global model or run in inference-only
mode.

Listing 2: CDDL description of a client update payload.

⬇

FL_Local_DataSet_Update = [

fl-local-dataset-size : uint,

? fl-model-metadata,

]

fl-model-metadata = (

fl-local-model-train-loss: float

fl-local-model-val-loss : float

)

After starting the new training period on the clients, the server submits the
CoAP GET with observe request to the clients. The level of training required
by the server is submitted as query parameter in the CoAP GET request. Via the
observe mechanism, this request provides the server with a notification as
soon as a client reached the the minimum level of training required by the
client. The format in CDDL used by the clients for the replies are shown in
Listing 2.

After a sufficient number of clients have all gathered sufficient local data
for training the local model, the server queries the selected clients for
their local model update. This is done via a GET request and the clients reply
with a structure shown in Listing 3.

The update contains the same UUID and round number used with the initial
global model update described in Listing 1. As main data, the client provides
the local dataset size used to train the model with, and the local model
itself as list of floating point numbers.

Listing 3: CDDL description of a client model payload.

⬇

FL_Local_Model_Update = [

fl-model-identifier,

fl-model-round,

fl-model-params,

fl-model-metadata,

]

##  VI Evaluation

###  VI-A Measurement setup

To evaluate the message framework proposed here, we evaluate the different
messages on a two metrics.

####  VI-A1 Message size

The main metric for evaluation is the message size in bytes. As the scenario
involves severely constrained network links, keeping the message size below
the maximum frame size of the link (127) prevents requiring multiple radio
transmissions for a single message. As resulting size of the CBOR encoding
depends a lot on the value of the data, we provide both optimistic and
pessimistic values for the message sizes. The measurements were done using
three different simulated model sizes: a small model of 4 floating point
numbers, an intermediate model size of 1000 floating point numbers and a large
model with 10 000 floating point numbers. We also measure the size of the
messages when they are encoded as Protobuf and as minified JSON messages, to
show the reduction in message size due to the CBOR encoding. For the floating
point numbers, the value 1.0 was chosen, as this requires the least amount of
encoding size with JSON. The measured size for JSON represents the minimal
size that can be achieved and should be compared against the best case with
the CBOR encoding.

####  VI-A2 Message interval

The rate at which messages are send between the server and clients can be
classified. Preferably larger messages are only required in exceptional cases,
in contrast to the updates from clients to server, which should be small as
they happen often. The exact interval of the messages depend on the training
configuration.

###  VI-B Measurements

Message | Model Size | CBOR Best | CBOR Worst | Protobuf | JSON
---|---|---|---|---|---
FL_Local_DataSet_Update |  | $8\text{\,}\mathrm{B}$ | $28\text{\,}\mathrm{B}$ |  22 | $11\text{\,}\mathrm{B}$
FL_Global_Model_Update | $4$ | $33\text{\,}\mathrm{B}$ | $67\text{\,}\mathrm{B}$ | $40\text{\,}\mathrm{B}$ | $65\text{\,}\mathrm{B}$
$1000$ | $2027\text{\,}\mathrm{B}$ | $9033\text{\,}\mathrm{B}$ | $4025\text{\,}\mathrm{B}$ | $4049\text{\,}\mathrm{B}$
$10\,000$ | $20\,025\text{\,}\mathrm{B}$ | $90\,033\text{\,}\mathrm{B}$ |  40026 | $40\,049\text{\,}\mathrm{B}$
FL_Local_Model_Update | $4$ | $38\text{\,}\mathrm{B}$ | $84\text{\,}\mathrm{B}$ | $58\text{\,}\mathrm{B}$ | $68\text{\,}\mathrm{B}$
$1000$ | $2032\text{\,}\mathrm{B}$ | $9050\text{\,}\mathrm{B}$ | $4043\text{\,}\mathrm{B}$ | $4052\text{\,}\mathrm{B}$
$10\,000$ | $20\,032\text{\,}\mathrm{B}$ | $90\,050\text{\,}\mathrm{B}$ |  40044 | $40\,052\text{\,}\mathrm{B}$
Table I: Message sizes when encoded as CBOR, Protobuf and JSON, for varying model sizes Message | CBOR | ProtoBuf | JSON
---|---|---|---
FL_Global_Model_Update | $177\,733\text{\,}\mathrm{B}$ |  177730 |  928171
FL_Local_Model_Update | $177\,738\text{\,}\mathrm{B}$ |  177748 | $928\,168\text{\,}\mathrm{B}$
Table II: Message sizes when encoding the LeNet-5 model as CBOR and JSON

####  VI-B1 Message size

The messages sizes for different model sizes is shown in Table I. First, the
FL_Local_DataSet_Update message that contains the updates from the client is
between $8\text{\,}\mathrm{B}$ and $28\text{\,}\mathrm{B}$ with CBOR,
depending on the exact values used. While the JSON encoded variant is slighly
larger than the best case CBOR encoding, both are suitably small to fit inside
a single frame on a constrained network. The protobuf message is in same range
as the CBOR message size. For CBOR, the message sizes for messages that
contain a small model are between $33\text{\,}\mathrm{B}$ and
$84\text{\,}\mathrm{B}$. With larger model sizes between $1000$ and $10\,000$
parameters, the message sizes increase with the same magnitude. The best case
for CBOR is using half floats, which is visible when comparing with the
Protobuf sizes, as Protobuf always uses at least 32 floats. As a JSON-encoded
float inside an array needs 4 characters and a CBOR-encoded half float inside
a tagged array needs 2 bytes, the size of the CBOR-encoded messages
approximates $50\text{\,}\mathrm{\char 37\relax}$ of the JSON-encoded
messages. These messages are no longer small enough to fit inside a single
transmission frame and require the CoAP blockwise transfer mechanism to get
fully transferred. The FL_Local_DataSet_Update size is independent of the
number of the model parameters, it does not contain the model parameters.

####  VI-B2 Message interval

Looking at how often the different messages need to be transferred we can
distinguish two update frequencies. The FL_Local_DataSet_Update will be
transmitted relative often and is unique per client during the training round.
To save throughput and in turn power on the clients, it is important that this
message is as small as possible. At $28\text{\,}\mathrm{B}$ maximum it will
always fit inside a single transmission from the client.

The FL_Global_Model_Update depends on the size of the model and can
potentially be a large message that needs to be distributed to all clients.
However it only needs to be distributed once per round. As all clients need
the same message, strategies to disseminate this message through the network
can be applied, such as using a single multi-cast message reaching all
clients. The FL_Local_Model_Update from the clients to the server is also
transferred only once per round. Each selected client will have to transfer
the FL_Local_Model_Update message to the server with their locally trained
model parameters. As this message is unique per client and contains the
parameters of the model, it puts the largest burden on the network. However,
not all clients have to transfer this message, but only the clients selected
by the server.

####  VI-B3 Real world example

Finally we compare the message sizes when using the LeNet-5 [25] model
(approx. $45\,000$ parameters) in the message structures. The results are
shown in Table II. The FL_Local_DataSet_Update message has been omitted as the
size is independent of the model size and is identical to the previous shown
measurements. Visible is the significant gain by encoding the messages in
CBOR. Where previous tables compared a best case CBOR messages with a best
case JSON messages in terms of size, here the average case with real-world
values is shown. Compared to JSON, the message size is around 24 of the size.

##  VII Discussion and Future Work

With the minimal encoding structure from CBOR, flexibility is available to
encode the models in their smallest size possible. The CBOR tagged-array
format results in a message size at most the same size as the as the required
memory for the model parameters on the device. However depending on the
specific model parameter values it can result in a size smaller than the on-
device representation.

In future work, it could be valuable to explore the possibility of
personalizing the global model on the client side before deploying it for
inference. Allowing clients to fine-tune the global model using their local
data and domain-specific knowledge could lead to improved performance and
tailored predictions. Additionally, it would be worth investigating the
capability of discarding server updates and relying solely on local updates if
the performance of the global model deteriorates. This approach would require
monitoring the model’s performance at the client level and selectively using
local updates to maintain or improve performance. However, integrating these
capabilities into constrained FL system requires careful consideration of
factors such as compute resource availability, model complexity, and
communication overhead. Developing novel algorithms and protocols will be
essential to enable efficient and effective collaboration between clients and
the server. Moreover, our framework could be used to transfer of partial
models, allowing for flexible and efficient transfer learning scenarios, where
only specific layers or components need to be exchanged.

##  VIII Conclusion

Our message and communication framework provides a highly effective approach
for implementing FL on microcontrollers, surpassing the limitations of
traditional Protobuf and JSON-based methods and communication protocols. There
are several key advantages to our framework. Firstly, it strikes an optimal
balance between message size and frequency, ensuring efficient and resource-
conscious communication. Secondly, it seamlessly integrates with existing IoT
management systems, leveraging widely adopted network stack building blocks.
This enables easy integration and scalability within larger IoT
infrastructures. This capability enhances the versatility and adaptability of
FL on microcontrollers, unlocking new possibilities for distributed learning
applications.

## Acknowledgements

The research leading to these results partly received funding from the MESRI-
BMBF German/French cybersecurity program under grant agreements No.
ANR-20-CYAL-0005 and 16KIS1395K. The paper reflects only the authors’ views.
MESRI and BMBF are not responsible for any use that may be made of the
information it contains.

## References

  * [1] S. S. Saha, S. S. Sandha, and M. Srivastava, “Machine learning for microcontroller-class hardware-a review,” _IEEE Sensors Journal_ , 2022.
  * [2] “TensorFlow Federated.” [Online]. Available: https://www.tensorflow.org/federated
  * [3] D. J. Beutel _et al._ , “Flower: A friendly federated learning framework,” 2022.
  * [4] E. International, “Ecma-404—the json data interchange format,” 2013.
  * [5] “gRPC.” [Online]. Available: https://grpc.io/
  * [6] “Protocol buffers.” [Online]. Available: https://protobuf.dev/
  * [7] I. Fette and A. Melnikov, “The websocket protocol,” RFC 6455, 2011.
  * [8] U. Hunkeler _et al._ , “Mqtt-s - a publish/subscribe protocol for wireless sensor networks.” in _COMSWARE_ , S. Choi, J. Kurose, and K. Ramamritham, Eds. IEEE, 2008, pp. 791–798.
  * [9] A. Stanford-Clark and H. L. Truong, “Mqtt for sensor networks (mqtt-sn) protocol specification,” _IBM Corporation version_ , vol. 1, no. 2, pp. 1–28, 2013.
  * [10] Z. Shelby, K. Hartke, and C. Bormann, “The Constrained Application Protocol (CoAP),” RFC 7252, Jun. 2014. [Online]. Available: https://www.rfc-editor.org/info/rfc7252
  * [11] C. Bormann and P. E. Hoffman, “Concise Binary Object Representation (CBOR),” RFC 8949, Dec. 2020. [Online]. Available: https://www.rfc-editor.org/info/rfc8949
  * [12] M. M. Grau _et al._ , “On-device training of machine learning models on microcontrollers with a look at federated learning,” in _Proceedings ACM GoodIT_ , 2021, p. 198–203.
  * [13] K. Kopparapu and E. Lin, “Tinyfedtl: Federated transfer learning on tiny devices,” _arXiv preprint arXiv:2110.01107_ , 2021.
  * [14] P. Pinyoanuntapong _et al._ , “Edgeml: Towards network-accelerated federated learning over wireless edge,” _Computer Networks_ , vol. 219, p. 109396, 2022.
  * [15] B. McMahan _et al._ , “Communication-efficient learning of deep networks from decentralized data,” in _Artificial intelligence and statistics_. PMLR, 2017, pp. 1273–1282.
  * [16] J. Konečnỳ _et al._ , “Federated learning: Strategies for improving communication efficiency,” _arXiv preprint arXiv:1610.05492_ , 2016\.
  * [17] P. Kairouz _et al._ , “Advances and open problems in federated learning,” _Foundations and Trends® in Machine Learning_ , vol. 14, no. 1–2, pp. 1–210, 2021.
  * [18] “Ieee standard for low-rate wireless networks,” _IEEE Std 802.15.4-2020_ , pp. 1–800, 2020.
  * [19] B. Moran _et al._ , “A Firmware Update Architecture for Internet of Things,” RFC 9019, Apr. 2021. [Online]. Available: https://www.rfc-editor.org/info/rfc9019
  * [20] C. F. Jennings _et al._ , “Sensor Measurement Lists (SenML),” RFC 8428, Aug. 2018. [Online]. Available: https://www.rfc-editor.org/info/rfc8428
  * [21] H. Birkholz, C. Vigano, and C. Bormann, “Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures,” RFC 8610, Jun. 2019. [Online]. Available: https://www.rfc-editor.org/info/rfc8610
  * [22] P. Thubert, “An Architecture for IPv6 over the Time-Slotted Channel Hopping Mode of IEEE 802.15.4 (6TiSCH),” RFC 9030, May 2021. [Online]. Available: https://www.rfc-editor.org/info/rfc9030
  * [23] M. Veillette _et al._ , “CoAP Management Interface (CORECONF),” Internet Engineering Task Force, Internet-Draft draft-ietf-core-comi-12, Mar. 2023\. [Online]. Available: https://datatracker.ietf.org/doc/draft-ietf-core-comi/12/
  * [24] C. Bormann, “Concise Binary Object Representation (CBOR) Sequences,” RFC 8742, Feb. 2020. [Online]. Available: https://www.rfc-editor.org/info/rfc8742
  * [25] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, “Gradient-based learning applied to document recognition,” _Proceedings of the IEEE_ , vol. 86, no. 11, pp. 2278–2324, 1998.

  *[ML]: machine learning
  *[DNN]: deep neural networks
  *[FL]: federated learning
  *[UUID]: Universally Unique Identifier


the group of locally constant $\mathbb{Z}$ valued functions on $\partial T$.
As the topological space $T\cup\partial T$ is a compact bordification of $T$
we can compute the compactly supported cohomology of $T$ as

$H^{*}_{c}(T;\mathbb{Z})=H^{*}(T,\partial T;\mathbb{Z}).$

The latter group is in turn isomorphic to the reduced cohomology of $\partial
T$ shifted by one, as one sees from the long exact sequence for the pair
$(T,\partial T)$. So, the only non-zero compactly supported cohomology group
of $T$ is

(48) $H^{1}_{c}(T;\mathbb{Z})\cong\mathbf{LC}(\partial T)/\mathbb{Z},$

where the quotient is by the constant functions. CM duality tells us that
$H^{1}_{c}(T;\mathbb{Z})$ is isomorphic to $H_{0}(T;h^{1})$. Below we will see
this explicitly through the cap product.

####  4.3.3. Local cohomology of trees

The local cohomology of a tree is $\mathbb{Z}=\langle e^{*}\rangle$ at every
edge, whereas at a vertex we have

$h^{1}(v)=\bigoplus_{e>v}\langle
e^{*}\rangle/\langle\sum_{e>v}[v:e]e^{*}\rangle.$

which is a free abelian group of rank one less than the valence of the vertex.
The cosheaf maps $h^{*}(e>v)$ are given by $e\triangleleft e^{*}\mapsto
v\triangleleft e^{*}$. One shows that:

######  Lemma 4.34.

Let $T$ be a locally finite infinite tree. Then $H_{1}(T;h^{1})=0$.

####  4.3.4. Cap product on a tree

The cap product with the fundamental class takes a simple form on a tree:

######  Lemma 4.35.

For $[\psi]=[\sum_{e\in E}\psi_{e}e^{*}]\in H^{1}_{c}(T;\mathbb{Z})$ the image
under the duality isomorphism is

$[\bar{T}]\cap\psi=\sum_{e\in E}\psi_{e}i(e)\triangleleft e^{*}\in
H_{0}(T;h^{1}).$

###### Proof.

It suffices to consider $e^{*}$ for an edge $e$ and one summand
$e^{\prime}\triangleleft(e^{\prime})^{*}$ of $\bar{T}=\sum_{e^{\prime}\in
E}e^{\prime}\triangleleft(e^{\prime})^{*}$ at a time. We compute

$(e^{\prime}\triangleleft(e^{\prime})^{*})\cap e^{*}=\sum_{e^{\prime\prime}\in
E}e^{*}(e^{\prime\prime})i(e^{\prime\prime})\triangleleft(e^{\prime\prime})^{*}\delta_{e^{\prime},e^{\prime\prime}}=i(e)\triangleleft
e^{*}.$

The formula for the cap product now follows by linearity. ∎

######  Remark 4.36.

Lemma 4.35 works for a general locally CM oriented simplicial complex $X$ of
dimension $n$ for a top dimensional simplex $\alpha\in X_{n}$:

$\bar{X}\cap\alpha=\alpha_{0}\triangleleft\alpha^{*}.$

####  4.3.5. From locally constant functions to compactly supported sections

As sections on subtrees always extend to larger subtrees, Theorem 3.16 tell us
that

$H_{0}(X;h^{1})\cong{\rm{Hom}}_{\textnormal{c}}(\Gamma(h_{1});\mathbb{Z}).$

Combining this with the Duality Theorem 4.25 and Equation (48) gives:

$\mathbf{LC}(\partial
T)/\mathbb{Z}\cong{\rm{Hom}}_{\textnormal{c}}(\Gamma(h_{1});\mathbb{Z}).$

It is interesting to consider what this isomorphism looks like explicitly. To
do this, we will consider _path-sections_. Given a directed bi-infinite path
$p$ we get a section $s_{p}\in\Gamma(h_{*})$ supported on the edges and
vertices of $p$, where each edge has multiplicity $\pm 1$ depending on whether
its orientation matches that of $p$, and the value at each vertex $v$ is the
corresponding sum of the incoming and outgoing edge of $p$ at $v$. We will
denote the endpoints in $\partial T$ of $p$ by $p^{+}$ and $p^{-}$. Tracing
through the results of this section we find:

######  Proposition 4.37.

Let $T$ be a locally finite infinite tree. Then under the identifications from
Theorem 3.16 and Equation (48) the cap product with the fundamental class
gives a map

$\displaystyle[\bar{T}]\cap-\colon$ $\displaystyle\mathbf{LC}(\partial
T)/\mathbb{Z}\rightarrow{\rm{Hom}}_{\textnormal{c}}(\Gamma(h_{1});\mathbb{Z})$

that sends a locally constant function $f$ to a homomorphism $\phi_{f}$ that
acts on path sections as

$\phi\colon s_{p}\mapsto f(p^{+})-f(p^{-}).$

The image of path sections under $\phi_{f}$ suffices to reconstruct the entire
compactly determined homomorphism, despite the fact that path sections do not
span the group of all sections. This is because the space of sections over any
finite subtree is spanned by path sections. One can first show that $\phi_{f}$
is compactly determined, and then use a determining subtree to evaluate it on
arbitrary sections via restriction to the subtree.

##  5\. Functoriality and Naturality

This section is devoted to establishing naturality of the duality
isomorphisms. In order to do this, we examine in what sense sheaf cohomology
and cosheaf homology are functorial in Section 5.1. We then apply this to the
local homology sheaf and the local cohomology cosheaf in Section 5.2. This
allows us to establish naturality of CM duality in Section 5.3.

###  5.1. Maps between combinatorial (co)sheaves

So far we have mostly considered (co)sheaves on a fixed simplicial complex. We
will show in §5.1.1 how to map between (co)sheaves on different simplicial
complexes and how to obtain induced maps on (co)homology in §5.1.2.

####  5.1.1. Maps between simplicial complexes

As a warmup we examine maps in simplicial (co)homology.

######  Definition 5.1.

Let $f\colon X\rightarrow Y$ be a simplicial map between oriented simplicial
complexes and assume that $f\sigma$ has the same dimension as $\sigma$. The
_orientation index $\mathfrak{o}_{f}(\sigma)$ of $f\sigma$_ is the sign of the
permutation taking the vertices of $f\sigma$ ordered according to $X$ to the
vertices ordered using the ordering of $Y$.

When $\mathfrak{o}_{f}(\sigma)=1$ for all $\sigma\in X$, we say that $f$ is
_orientation preserving_.

If the dimension of the image of a simplex $\sigma$ is less than the dimension
of the simplex we say that $\sigma$ _degenerates under $f$_.

######  Example 5.2.

Consider the orientation reversing automorphism $r$ of the oriented 1-simplex
$[0,1]$ that switches the vertices. Then
$\mathfrak{o}_{r}([0,1])=\textnormal{sign}(01)=-1$.

We state the following routine (but non-trivial) lemma, leaving the proof as
an exercise.

######  Lemma 5.3.

Let $\sigma\in X$ be a simplex in an oriented simplicial complex and let
$f\colon X\rightarrow Y$ be a simplicial map between oriented simplicial
complexes. Assume that $f\sigma$ has the same dimension as $\sigma$, and that
$(f\sigma)_{i}=f(\sigma_{j})$. Then we have

$(-1)^{i}\mathfrak{o}_{f}(\sigma_{\langle
j\rangle})=(-1)^{j}\mathfrak{o}_{f}(\sigma).$

With this lemma in place, the following is easy to prove:

######  Lemma 5.4.

Let $f:X\rightarrow Y$ be a simplicial map between oriented complexes. Then
$f:\sigma\mapsto f\sigma$, induces a chain map

$\displaystyle f_{*}\colon C_{l}(X)$ $\displaystyle\rightarrow C_{l}(Y)$
$\displaystyle\sigma$ $\displaystyle\mapsto\mathfrak{o}_{f}(\sigma)f\sigma,$

between the simplicial chain complexes of oriented simplices of $X$ and $Y$,
where we take $f\sigma=0$ if $\sigma$ degenerates under $f$.

For the local (co)homology (co)sheaf there is only a limited class of maps for
which we have a good functoriality result. These maps are called _star-local
homeomorphisms_ :

######  Definition 5.5.

A _star-local homeomorphism_ $f\colon X\rightarrow Y$ between simplicial
complexes is a simplicial map such that for every simplex $\sigma$ of $Y$ and
$\tau\in f^{-1}\sigma$ the map

$f|_{\mathrm{st}\tau}\colon\mathrm{st}\tau\rightarrow\mathrm{st}\sigma$

is a simplicial isomorphism. We say that a star-local homeomorphism between
oriented simplicial complexes is _orientation preserving_ if additionally each
$f|_{\mathrm{st}\tau}$ preserves the orientation of $\mathrm{st}\tau$.

######  Proposition 5.6.

If $f\colon X\rightarrow Y$ is a star-local homeomorphism and $\sigma\in Y$,
then for all $\tau,\rho\in f^{-1}\sigma$ we have
$\mathrm{st}\tau\cap\mathrm{st}\rho=\emptyset$ whenever $\tau\neq\rho$.

###### Proof.

Suppose that $\tau\neq\rho$ and $\mathrm{st}\tau\cap\mathrm{st}\rho$ contains
a vertex $v$. Then $\tau\star v$ and $\rho\star v$ are not equal and both
belong to $\mathrm{st}v$. Further, $f(\tau\star v)=f(\rho\star v)=\sigma\star
f(v)$, but this implies that $f|_{\mathrm{st}v}$ is not injective. ∎

######  Remark 5.7.

One can show that any simplicial map that induces a local homeomorphism on
geometric realisations is a star-local homeomorphism.

######  Remark 5.8.

We will need the orientation preserving property when we work with the cap
products: we have defined these on (co)chain complexes of _oriented_ simplices
by selecting the front and back faces. By pulling back the orientation of the
image, one can pick an orientation of the domain that ensures a star-local
homeomorphism is orientation preserving.

####  5.1.2. Functoriality of sheaf (co)homology and cosheaf homology

Given a map of simplicial complexes $f\colon X\rightarrow Y$ and a sheaf
$\mathcal{F}\colon Y\rightarrow R-\mathbf{Mod}$ (or a cosheaf
$\mathcal{G}\colon Y^{\textnormal{op}}\rightarrow R-\mathbf{Mod}$) we have the
_pullback sheaf_ $\mathcal{F}f\colon X\rightarrow R-\mathbf{Mod}$ (or
_pullback cosheaf_ $\mathcal{G}f\colon X^{\textnormal{op}}\rightarrow
R-\mathbf{Mod}$) obtained by precomposing with $f$. Given a simplicial map we
want a way to compare (co)sheaves. This is provided by:

######  Definition 5.9.

Consider a simplicial map $f\colon X\rightarrow Y$. Given sheaves
$\mathcal{F}$ and $\mathcal{F}^{\prime}$ (or cosheaves $\mathcal{G}$ and
$\mathcal{G}^{\prime}$) on $X$ and $Y$ respectively a _lift_ of $f$ is a
natural transformation $\Phi\colon\mathcal{F}\Rightarrow\mathcal{F}^{\prime}f$
(or $\Psi\colon\mathcal{G}\Rightarrow\mathcal{G}^{\prime}f$). A colift of $f$
is a natural transformation
$\Theta\colon\mathcal{F}^{\prime}f\Rightarrow\mathcal{F}$ (or
$\Xi\colon\mathcal{G}^{\prime}f\Rightarrow\mathcal{G}$).

Maps of simplicial complexes with a colift (or lift) induce maps on sheaf
cohomology (or cosheaf homology). Though this result will not be needed we
include it for completeness. The proof, like the proof of Lemma 5.4, is mostly
an exercise in tracking signs and will be omitted.

######  Proposition 5.10.

Let $\mathcal{F}\colon X\rightarrow R-\mathbf{Mod}$ and
$\mathcal{F}^{\prime}\colon Y\rightarrow R-\mathbf{Mod}$ be combinatorial
sheaves on simplicial complexes and let $f\colon X\rightarrow Y$ be simplicial
map and $\Theta\colon\mathcal{F}^{\prime}f\Rightarrow\mathcal{F}$ be a colift
for $f$. Then we have a map of cochain complexes

$\displaystyle(f,\Theta)^{*}\colon C^{l}(Y;\mathcal{F}^{\prime})$
$\displaystyle\rightarrow C^{l}(X;\mathcal{F})$ $\displaystyle\phi$
$\displaystyle\mapsto\left(\sigma\mapsto\mathfrak{o}_{f}(\sigma)\Theta(\phi_{f\sigma})\right).$

If $f$ has finite fibres this map is also defined for compactly supported
cohomology.

When $\mathcal{G}\colon X^{\textnormal{op}}\rightarrow R-\mathbf{Mod}$ and
$\mathcal{G}^{\prime}\colon Y^{\textnormal{op}}\rightarrow R-\mathbf{Mod}$ are
cosheaves and $\Psi$ is a lift for $f\colon X\rightarrow Y$ we have a map

$\displaystyle(f,\Psi)_{*}\colon$ $\displaystyle
C_{k}(X;\mathcal{G})\rightarrow C_{k}(Y;\mathcal{G}^{\prime})$
$\displaystyle(\sigma,\alpha\in\mathcal{G}(\sigma))\mapsto\mathfrak{o}_{f}(\sigma)(f\sigma,\Psi\alpha),$

where we declare $(f\sigma,\Psi\alpha)=0$ whenever $f\sigma$ has dimension
less than $k$. This map extends to locally finite chains when $f$ has finite
fibres.

It turns out that a map of simplicial complexes $f\colon X\rightarrow Y$ does
not generally have a colift $f^{*}h^{Y}_{*}\Rightarrow h^{X}_{*}$ to local
homology sheaves, nor a lift $h_{X}^{*}\Rightarrow f^{*}h_{Y}^{*}$ to local
cohomology sheaves. We will however construct a lift $h^{X}_{*}\Rightarrow
f^{*}h^{Y}_{*}$ to local homology sheaves and a colift
$f^{*}h_{Y}^{*}\Rightarrow h_{X}^{*}$ to local cohomology cosheaves below,
under the additional assumption that $f$ is a star-local homeomorphism.

For a simplicial map $f$ and lift of $f$ to a pair of sheaves, we again need
the assumption that $f$ is a star-local homeomorphism to get induced “wrong
way” maps. Under the same condition we get induced maps when we have a colift
of $f$ to a pair of cosheaves.

######  Proposition 5.11.

Let $f\colon X\rightarrow Y$ be a star-local homeomorphism and
$\mathcal{F}\colon X\rightarrow R-\mathbf{Mod}$ and
$\mathcal{F}^{\prime}\colon Y\rightarrow R-\mathbf{Mod}$ be sheaves. If
$\Phi\colon\mathcal{F}\Rightarrow\mathcal{F}^{\prime}f$ is a lift of $f$, we
have a chain map

$\displaystyle(f,\Phi)_{!}\colon$ $\displaystyle
C^{l}_{c}(X;\mathcal{F})\rightarrow C^{l}(Y;\mathcal{F}^{\prime}f)$
$\displaystyle\phi\mapsto\left(\sigma\mapsto\sum_{\tau\in(f^{-1}\sigma)_{l}}\mathfrak{o}_{f}(\tau)\Phi(\phi_{\tau})\right).$

Here the sum is over simplices of dimension $l$ in the pre-image of the
simplex $\sigma$. If $f$ has finite fibres then $(f,\Phi)_{!}$ lands in
compactly supported cochains. It is then additionally well-defined as map from
non-compactly supported to non-compactly supported cochains.

Given a colift $\Xi\colon\mathcal{G}^{\prime}f\Rightarrow\mathcal{G}$ of $f$
to cosheaves $\mathcal{G}\colon X^{\textnormal{op}}\rightarrow R-\mathbf{Mod}$
and $\mathcal{G}^{\prime}\colon Y^{\textnormal{op}}\rightarrow
R-\mathbf{Mod}$, there is a chain map

$\displaystyle(f,\Xi)^{!}\colon
C^{\textnormal{lf}}_{k}(Y;\mathcal{G}^{\prime})$ $\displaystyle\rightarrow
C^{\textnormal{lf}}_{k}(X;\mathcal{G})$
$\displaystyle(\sigma,\alpha\in\mathcal{G}^{\prime}(\sigma))$
$\displaystyle\mapsto\sum_{\tau\in(f^{-1}\sigma)}\mathfrak{o}_{f}(\tau)(\tau,\Xi\alpha),$

which descends to a map of ordinary chains if the fibres of $f$ are finite.

###### Proof.

We start by showing the result for cohomology. Observe that $(f,\Phi)_{!}$ is
well-defined as each $\phi\in C^{l}_{c}(X;\mathcal{F})$ is non-zero on only
finitely many chains. We further need to show that $(f,\Phi)_{!}$ is a chain
map, ie. that for every $\phi\in C^{l}_{c}(X;\mathcal{F})$ and simplex
$\sigma\in Y_{l+1}$ we have

$(\partial(f,\Phi)_{!}(\phi))_{\sigma}=(f,\Phi)_{!}(\partial\phi)_{\sigma}.$

Unpacking both sides, we see that we need to establish

$\sum_{i=0}^{l+1}(-1)^{i}\sum_{\tau\in f^{-1}\sigma_{\langle
i\rangle}}\mathfrak{o}_{f}(\tau)\Phi(\phi_{\tau})=\sum_{\rho\in
f^{-1}\sigma}\mathfrak{o}_{f}(\rho)\sum_{j=0}^{l+1}(-1)^{j}\Phi(\phi_{\rho_{\langle
j\rangle}}).$

Observe that, as $f$ is star-local, for each $i$ and $\tau\in
f^{-1}\sigma_{\langle i\rangle}$ there is a unique $\rho\in f^{-1}\sigma$ and
$0\leqslant j\leqslant l+1$ such that $\tau=\rho_{\langle j\rangle}$. This
means that we just need to show

$(-1)^{i}\mathfrak{o}_{f}(\rho_{\langle
j\rangle})=(-1)^{j}\mathfrak{o}_{f}(\rho),$

this is Lemma 5.3. The observations about the versions of $(f,\Phi)_{!}$ when
$f$ has finite fibres are obvious.

The proof for the statement about chains is analogous; we only explain why
$(f,\Xi)^{!}$ is well-defined. Let $\eta\in
C^{\textnormal{lf}}_{k}(Y;\mathcal{G}^{\prime})$ be given by
$\eta=\sum_{\sigma\in Y_{k}}(\sigma,\eta_{\sigma})$. Then the image of $\eta$
under $(f,\Xi)^{!}$ is

$(f,\Xi)^{!}(\eta)=\sum_{\sigma\in Y_{k}}\sum_{\tau\in
f^{-1}\sigma}(\tau,\Xi\eta_{\sigma}).$

The component $(f,\Xi)^{!}(\eta)_{\rho}$ over a simplex $\rho\in X_{k}$ of
this is

$(f,\Xi)^{!}(\eta)_{\rho}=\sum_{\sigma\in
Y_{k}}\delta_{f\rho,\sigma}(\rho,\Xi\eta_{\sigma})=(\rho,\Xi\eta_{f\rho}),$

which is indeed a component of a locally finite chain. ∎

###  5.2. Local (co)homology

We now provide (co)lifts for maps between simplicial complexes to the local
(co)homology (co)sheaves. This then allows us to apply Proposition 5.11 above
to get naturality with respect to star-local homeomorphisms in Corollary 5.13.

####  5.2.1. (Co)lifts for local (co)homology

Denote by $h^{X}_{*}$ (and $h^{*}_{X}$) the local (co)homology of a simplicial
complex $X$. Observe that if $f\colon X\rightarrow Y$ is a star-local
homeomorphism (Definition 5.5) between locally finite simplicial complexes we
get for each simplex $\sigma\in Y_{n}$ a homomorphism

$H_{*}(X,X-\cup_{\tau\in
f^{-1}\sigma}\mathring{\mathrm{st}}\tau)\xrightarrow{f_{*}}H_{*}(Y,Y-\mathring{\mathrm{st}}\sigma)=h^{Y}_{*}(\sigma),$

using that $f(\cup_{\tau\in
f^{-1}\sigma}\mathring{\mathrm{st}}\tau)=\mathring{\mathrm{st}}\sigma$. By
Proposition 5.6, the closed stars of the simplices in the preimage of $\sigma$
under $f$ are disjoint, so by excision we have

$\bigoplus_{\tau\in f^{-1}\sigma}h^{X}_{*}(\tau)\cong H_{*}(X,X-\cup_{\tau\in
f^{-1}\sigma}\mathring{\mathrm{st}}\tau).$

For $\tau\in X$, we then let $f_{\tau}$ be the composite

(49) $f_{\tau}\colon h^{X}_{*}(\tau)\hookrightarrow H_{*}(X,X-\cup_{\sigma\in
f^{-1}f\tau}\mathring{\mathrm{st}}\sigma)\xrightarrow{f_{*}}h^{Y}_{*}(f\tau).$

Note that

(50)
$f_{\tau}(\tau\triangleleft\alpha)=\mathfrak{o}_{f}(\alpha)f\tau\triangleleft
f\alpha,$

by Lemma 5.4. Similarly, we get a homomorphism

(51) $f^{\tau}\colon
h_{Y}^{*}(f\tau)=H^{*}(Y,Y-\mathring{\mathrm{st}}f\tau)\xrightarrow{f^{*}}H^{*}(X,X-\cup_{\sigma\in
f^{-1}f\tau}\mathring{\mathrm{st}}\sigma)\rightarrow h_{X}^{*}(\tau),$

where the last map is projection. As $f$ is assumed to be a star-local
homeomorphism, $f|_{\mathrm{st}\tau}$ is invertible. We have

(52)
$f^{\tau}(f\tau\triangleleft\alpha^{*})=\mathfrak{o}_{f}(f|_{\mathrm{st}\tau}^{-1}\alpha)\tau\triangleleft(f|_{\mathrm{st}\tau}^{-1}\alpha)^{*},$

where $f|_{\mathrm{st}\tau}^{-1}\alpha$ is the unique simplex in
$\mathrm{st}\tau$ that is mapped to $\alpha$.

######  Lemma 5.12.

Let $f\colon X\rightarrow Y$ be a star-local homeomorphism. Then the
homomorphisms $f_{\sigma}\colon h^{X}_{*}(\sigma)\rightarrow
h^{Y}_{*}(f\sigma)$ from Equation (49) (and $f^{\sigma}\colon
h_{Y}^{*}(f\sigma)\rightarrow h_{X}^{*}(\sigma)$ from Equation (51))
constitute (co)lifts of $f$.

###### Proof.

We need to check that the $f_{\sigma}$ (and $f^{\sigma}$) are compatible with
the (co)restriction maps in the sense that for $\sigma<\tau$ we have

(53) $f_{\tau}h^{X}_{*}(\sigma<\tau)=h_{*}^{Y}(f\sigma<f\tau)f_{\sigma}$

and

$f^{\sigma}h_{Y}^{*}(f\tau>f\sigma)=h^{*}_{X}(\tau>\sigma)f^{\tau}.$

For $f_{\sigma}$, we check this on an element $\sigma\triangleleft\alpha\in
h_{*}^{X}(\sigma)$. The left hand side of Equation (53) evaluated on this
element is

$f_{\tau}h^{X}_{*}(\sigma<\tau)(\sigma\triangleleft\alpha)=f_{\tau}(\tau\triangleleft\alpha)=\mathfrak{o}_{f}(\alpha)f\tau\triangleleft
f\alpha,$

recalling from §2.3.2 how the restriction maps act, and using Equation (50).
For the right hand side of Equation (53), we have

$h_{*}^{Y}(f\sigma<f\tau)f_{\sigma}(\sigma\triangleleft\alpha)=\mathfrak{o}_{f}(\alpha)h_{*}^{Y}(f\sigma<f\tau)(f\sigma\triangleleft
f\alpha)=\mathfrak{o}_{f}(\alpha)f\tau\triangleleft f\alpha.$

This indeed agrees with the left hand side of Equation (53). For $f^{\sigma}$,
let $f\tau\triangleleft\alpha^{*}$ be a cochain for $h^{*}_{Y}(f\tau)$. Then

$f^{\sigma}h_{Y}^{*}(f\tau>f\sigma)(f\tau\triangleleft\alpha^{*})=f^{\sigma}(f\sigma\triangleleft\alpha^{*})=\mathfrak{o}_{f}(f|_{\mathrm{st}\sigma}^{-1}\alpha)\sigma\triangleleft(f|_{\mathrm{st}\sigma}^{-1}\alpha)^{*},$

while

$h^{*}_{X}(\tau>\sigma)f^{\tau}(f\tau\triangleleft\alpha^{*})=h^{*}_{X}(\tau>\sigma)\mathfrak{o}_{f}(f|_{\mathrm{st}\tau}^{-1}\alpha)\tau\triangleleft(f|_{\mathrm{st}\tau}^{-1}\alpha)^{*}=\mathfrak{o}_{f}(f|_{\mathrm{st}\tau}^{-1}\alpha)\sigma\triangleleft(f|_{\mathrm{st}\tau}^{-1}\alpha)^{*}.$

Because $f$ is star-local we have that for $\sigma<\tau$

(54) $f|_{\mathrm{st}\sigma}^{-1}\alpha=f|_{\mathrm{st}\tau}^{-1}\alpha,$

so we are done. ∎

Using Proposition 5.11 we then have:

######  Corollary 5.13.

Let $f\colon X\rightarrow Y$ be a star-local homeomorphism (Definition 5.5).
Then we have chain maps defined using chains by

$\displaystyle f_{!}\colon$ $\displaystyle C_{c}^{*}(X;h^{X}_{*})$
$\displaystyle\rightarrow$ $\displaystyle C^{*}(Y,h^{Y}_{*})$
$\displaystyle\sigma\triangleleft\alpha$ $\displaystyle\mapsto$
$\displaystyle\mathfrak{o}_{f}(\sigma)\mathfrak{o}_{f}(\alpha)f\sigma\triangleleft
f\alpha,$

and using cochains for the local cohomology groups $h^{*}(\sigma)$ by

$\displaystyle f^{!}\colon$ $\displaystyle
C^{\textnormal{lf}}_{*}(Y;h^{*}_{Y})$ $\displaystyle\rightarrow$
$\displaystyle C^{\textnormal{lf}}_{*}(X;h_{X}^{*})$
$\displaystyle\sigma\triangleleft\alpha^{*}$ $\displaystyle\mapsto$
$\displaystyle\sum_{\tau\in
f^{-1}\sigma}\mathfrak{o}_{f}(\tau)\mathfrak{o}_{f}(f|_{\mathrm{st}\tau}^{-1}\alpha)\tau\triangleleft(f|_{\mathrm{st}\tau}^{-1}\alpha)^{*}.$

If $f$ has finite fibres, then $f$ also induces maps $f_{!}\colon
C_{c}^{*}(X;h^{X}_{*})\rightarrow C_{c}^{*}(Y,h^{Y}_{*})$ and $f_{!}\colon
C_{c}^{*}(X;h^{X}_{*})\rightarrow C_{c}^{*}(Y,h^{Y}_{*})$, as well as
$f^{!}\colon C_{*}(Y;h^{*}_{Y})\rightarrow C_{*}(X;h_{X}^{*})$.

###### Proof.

We check that the (co)lifts defined in Proposition 5.11 above indeed give rise
to the maps claimed. For $\sigma\triangleleft\alpha\in C^{l}(X;h^{X}_{*})$ and
$\tau\triangleleft\beta\in C^{l}(Y;h_{*}^{Y})$ we want to find the coefficient
$f_{!}(\sigma\triangleleft\alpha)^{\tau}_{\beta}$ of
$f_{!}(\sigma\triangleleft\alpha)$ at $\tau\triangleleft\beta$. By Proposition
5.11, this involves a sum over the pre-images $\rho$ of $\tau$ and finding
$f_{\rho}((\sigma\triangleleft\alpha)_{\rho})$. Unpacking the notation, we
note that $(\sigma\triangleleft\alpha)_{\rho}$ is $\sigma\triangleleft\alpha$
if $\sigma=\rho$ and zero otherwise. We thus find for the coefficient

$\displaystyle f_{!}(\sigma\triangleleft\alpha)^{\tau}_{\beta}$
$\displaystyle=\begin{cases}\mathfrak{o}_{f}(\sigma)f_{\sigma}(\sigma\triangleleft\alpha)_{\beta}&\mbox{
if }f\sigma=\tau\\\ 0&\mbox{ otherwise}\end{cases}$
$\displaystyle=\begin{cases}\mathfrak{o}_{f}(\sigma)\mathfrak{o}_{f}(\alpha)f\sigma\triangleleft
f\alpha&\mbox{ if }f\sigma=\tau,f\alpha=\beta\\\ 0&\mbox{
otherwise,}\end{cases}$

where the last step uses Equation (50). The proof for the induced map on
homology is similar. ∎

###  5.3. Naturality of duality

We now establish naturality of the duality isomorphisms. We first show that
the cap product is natural with respect to star local homeomorphisms in
§5.3.1. In §5.3.2 we show that the fundamental class is preserved under these
maps, which allows us to conclude naturality for the duality isomorphisms in
§5.3.3.

####  5.3.1. Naturality of the cap product

The two versions of the cap product both satisfy a kind of naturality using
the maps $f_{!}$ and $f^{!}$ from Corollary 5.13:

######  Lemma 5.14.

Let $f\colon X\rightarrow Y$ be an orientation preserving star-local
homeomorphism of simplicial complexes. If $\eta\in
C^{\textnormal{lf}}_{k}(Y;h^{*}_{Y})$ and $\phi\in C_{c}^{l}(X;h_{*}^{X})$,
then the cap product from Equation (11) satisfies

$f_{*}(f^{!}\eta\cap\phi)=\eta\cap f_{!}\phi.$

The cap product from Equation (14) satisfies, for $\eta\in
C^{\textnormal{lf}}_{k}(Y;h^{*}_{Y})$ and $\psi\in C^{l}(Y)$,

$f^{!}\eta\cap f^{*}\psi=f^{!}(\eta\cap\psi).$

If $f$ is not orientation preserving, the above holds after passing to
homology.

###### Proof.

The statement for when $f$ is not orientation preserving follows from Theorem
2.12 and the rest of the content of this lemma. So assume that $f$ is
orientation preserving. It suffices to prove the above statements on
generators at the chain level. For the first equation let
$\eta=\sigma\triangleleft\alpha^{*}$ and $\phi=\tau\triangleleft\beta$. Then

$\displaystyle f_{*}(f^{!}\eta\cap\phi)$
$\displaystyle=f_{*}\left(\sum_{\rho\in
f^{-1}\sigma}\rho\triangleleft(f|_{\mathrm{st}\rho}^{-1}\alpha)^{*}\cap\tau\triangleleft\beta\right)$
(Lemma 5.13)
$\displaystyle=f_{*}\left(\sum_{f\rho=\sigma}\delta_{\rho_{\geqslant
k-l},\tau}\langle(f|_{\mathrm{st}\rho}^{-1}\alpha)^{*},\beta\rangle\rho_{\leqslant
k-l}\right)$ (Equation (12))
$\displaystyle=\alpha^{*}(f\beta)\sum_{f\rho=\sigma}\delta_{\rho_{\geqslant
k-l},\tau}f(\rho_{\leqslant k-l}).$ $\displaystyle\textnormal{ (as
}\langle(f|_{\mathrm{st}\rho}^{-1}\alpha)^{*},\beta\rangle=\alpha^{*}(f\beta)).$

Note that the indices $\mathfrak{o}_{f}(\rho)$ play no role as $f$ is
orientation preserving. As $f$ is a star-local homeomorphism and the preimages
of $\sigma$ are disjoint, among those $\rho$ that $f$ maps to $\sigma$ there
can be at most one that has $\tau$ as its back face. Furthermore, as $f$ is
orientation preserving we have that $f(\rho_{\geqslant
k-l})=f(\rho)_{\geqslant k-l}=\sigma_{\geqslant k-l}$. This means

$f_{*}(f^{!}\eta\cap\phi)=\alpha^{*}(f\beta)\delta_{\sigma_{\geqslant
k-l},f\tau}\sigma_{\leqslant k-l}.$

On the other side we have (using Lemma 5.13)

$\eta\cap f_{!}\phi=(\sigma\triangleleft\alpha^{*})\cap(f\tau\triangleleft
f\beta)=\alpha^{*}(f\beta)\delta_{\sigma_{\geqslant
k-l},f\tau}\sigma_{\leqslant k-l},$

establishing the result.

For the second equality, let $\eta=\sigma\triangleleft\alpha^{*}$ be as above
and take $\psi=\beta^{*}$ to be the dual for a simplex $\beta\in Y_{l}$. Then
the left hand side computes as

$\displaystyle f^{!}(\sigma\triangleleft\alpha^{*})\cap f^{*}\beta^{*}$
$\displaystyle=\left(\sum_{\rho\in
f^{-1}\sigma}\rho\triangleleft(f|_{\mathrm{st}\rho}^{-1}\alpha)^{*}\right)\cap
f^{*}\beta^{*}$ (Lemma 5.13) $\displaystyle=\sum_{\rho\in
f^{-1}\sigma}\beta^{*}(f\rho_{\geqslant k-l})(\rho_{\leqslant
k-l}\triangleleft(f|_{\mathrm{st}\rho}^{-1}\alpha)^{*})$ (Equation (15))
$\displaystyle=\sum_{\rho\in f^{-1}\sigma}\delta_{\sigma_{\geqslant
k-l},\beta}(\rho_{\leqslant
k-l}\triangleleft(f|_{\mathrm{st}\rho}^{-1}\alpha)^{*})$ $\displaystyle\mbox{
(star-locality)}.$

where we used that $h^{*}_{X}(\rho>\rho_{\leqslant
k-l})f^{\rho}=f^{\rho_{\leqslant k-l}}h^{*}_{Y}(\rho>\rho_{\leqslant k-l})$.
On the right hand side we have

$\displaystyle f^{!}(\sigma\triangleleft\alpha^{*}\cap\beta^{*})$
$\displaystyle=f^{!}\left(\delta_{\beta,\sigma_{\geqslant
k-l}}\sigma_{\leqslant k-l}\triangleleft\alpha^{*}\right)$ (Equation (15))
$\displaystyle=\sum_{\tau\in f^{-1}\sigma_{\leqslant
k-l}}\delta_{\beta,\sigma_{\geqslant
k-l}}\tau\triangleleft(f|_{\mathrm{st}\tau}^{-1}\alpha)^{*}$
$\displaystyle\mbox{ (Lemma~{}\ref{covariancelemma})}.$

By the star-local property the indexing sets for the sums are in bijection:
for $\tau\in f^{-1}\sigma_{\leqslant k-l}$ there is exactly one $\rho\in
f^{-1}\sigma$ such that $\tau=\rho_{\leqslant k-l}$. By Equation (54) we have
that $(f|_{\mathrm{st}\rho}^{-1}\alpha)^{*}=(f|_{\mathrm{st}\rho_{\leqslant
k-l}}^{-1}\alpha)^{*}$, so we are done. ∎

####  5.3.2. Functoriality of the fundamental class

The fundamental class is invariant under star-local homeomorphisms in the
following sense:

######  Lemma 5.15.

Let $f\colon X\rightarrow Y$ be a star-local homeomorphism between oriented
locally finite locally CM complexes of dimension n and denote by $h_{X}^{n}$
and $h^{n}_{Y}$ the local cohomology cosheaves of $X$ and $Y$, respectively.
Then the map

$f^{!}\colon H^{\textnormal{lf}}_{k}(Y;h^{n}_{Y})\rightarrow
H^{\textnormal{lf}}_{k}(X;h^{n}_{X})$

defined in Corollary 5.13 takes the fundamental class of $Y$ to the
fundamental class of $X$.

###### Proof.

Computing the image of the diagonal representative of the fundamental class of
$Y$ under $f^{!}$ gives:

$f^{!}(\bar{Y})=f^{!}\left(\sum_{\alpha\in
Y_{n}}\alpha\triangleleft\alpha^{*}\right)=\sum_{\alpha\in
Y_{n}}\sum_{\beta\in
f^{-1}\alpha}\mathfrak{o}_{f}(\beta)\mathfrak{o}_{f}(f|_{\mathrm{st}\beta}^{-1}\alpha)\beta\triangleleft(f|_{\mathrm{st}\beta}^{-1}\alpha)^{*}.$

We note that $f|_{\mathrm{st}\beta}^{-1}\alpha=\beta$. The sets
$\\{f^{-1}\alpha\\}_{\alpha\in Y_{n}}$ partition $X_{n}$, so we can rewrite
this as

$f^{!}(\bar{Y})=\sum_{\beta\in X_{n}}\beta\triangleleft\beta^{*}=\bar{X},$

using that $\mathfrak{o}_{f}(\beta)^{2}=1$. ∎

####  5.3.3. Naturality of the duality isomorphisms

The isomorphisms in the Duality Theorem 4.25 satisfy a particular kind of
naturality for star-local homeomorphisms, covariant for the first four (under
1) and contravariant for the second four (under 2).

######  Theorem 5.16.

Let $f\colon(X,L)\rightarrow(Y,K)$ be a star-local homeomorphism between pairs
of locally Cohen–Macaulay complexes and full subcomplexes. Write $h^{X}_{*}$
(and $h_{X}^{*}$), and $h_{*}^{Y}$ (and $h^{*}_{Y}$) for the local
(co)homology of $X$ and $Y$, respectively. Then for the duality isomorphism
from Theorem 4.25.1(1.a)1.a.ii the diagram

${H_{c}^{l}(L;h^{X}_{*})}$${H_{n-l}(X,L^{\textnormal{vc}};R)}$${H^{l}(K;h^{Y}_{*})}$${H^{\textnormal{lf}}_{n-l}(Y,K^{\textnormal{vc}};R)}$$\scriptstyle{[\bar{X}]\cap-}$$\scriptstyle{\cong}$$\scriptstyle{f_{!}}$$\scriptstyle{f_{*}}$$\scriptstyle{[\bar{Y}]\cap-}$$\scriptstyle{\cong}$

where $f_{!}$ is the map introduced in Corollary 5.13, commutes. A similar
diagram commutes for the isomorphism in Theorem 4.25.2(2.b)2.b.ii. If $f$
additionally has finite fibres, the corresponding diagrams for the
isomorphisms from Theorem 4.25.1(1.a)1.a.i and 4.25.2(2.b)2.b.i also commute.
For the isomorphisms under Theorem 4.25.2 the diagram

${H^{l}(L;R)}$${H^{\textnormal{lf}}_{n-l}(X,L^{\textnormal{vc}};h_{X}^{*})}$${H^{l}(K;R)}$${H^{\textnormal{lf}}_{n-l}(Y,K^{\textnormal{vc}};h_{Y}^{*})}$$\scriptstyle{[\bar{X}]\cap-}$$\scriptstyle{\cong}$$\scriptstyle{[\bar{Y}]\cap-}$$\scriptstyle{\cong}$$\scriptstyle{f^{*}}$$\scriptstyle{f^{!}}$

and its variants (subject to the condition that $f$ be proper for those
involving compactly supported cohomology) for the other items commute.

###### Proof.

We know from Lemma 5.15 that $f^{!}$ takes the fundamental class of $Y$ to the
one of $X$. So for the first diagram we are trying to show that for any
cohomology class represented by a cocycle $\phi$ we have

$f_{*}([f^{!}\bar{Y}]\cap[\phi])=[\bar{Y}\cap f_{!}\phi],$

but this this the first part of Lemma 5.14. Similarly, for the second diagram
we are checking that

$f^{!}\bar{Y}\cap f^{*}\psi=f^{!}(\bar{Y}\cap\psi),$

this is the second part of Lemma 5.14. ∎

######  Remark 5.17.

Let $M$ be an orientable $n$-manifold with an orientation reversing
$\mathbb{Z}/2\mathbb{Z}$-action along $f\colon M\rightarrow M$. Working with
$R=\mathbb{Z}$, Lemma 5.15 tells us that the co-lift constructed in Lemma 5.12
ensures that the $\mathbb{Z}/2\mathbb{Z}$-action given by $f^{!}$ on
$H_{n}^{\textnormal{lf}}(M;h^{*})$ is trivial. However,
$\mathbb{Z}/2\mathbb{Z}$ will act by $-1$ on
$H^{\textnormal{lf}}_{n}(M;\mathbb{Z})$, meaning that while
$H_{n}^{\textnormal{lf}}(M;h^{*})\cong H^{\textnormal{lf}}_{n}(M;\mathbb{Z})$
as $\mathbb{Z}$-modules, they are not $\mathbb{Z}/2\mathbb{Z}$-equivariantly
isomorphic. This shows that the CM fundamental class defined here is a
different object from the usual fundamental class for orientable manifolds. In
particular, the usual Poincaré duality for orientable manifolds is not natural
with respect to orientation reversing homeomorphisms.

A _$G$ -simplicial complex_ is a simplicial complex with an action of a group
$G$ along simplicial homeomorphisms. Theorem 5.16 applies to this setting to
give:

######  Corollary 5.18.

Let $X$ be a CM $G$-simplicial complex of dimension $n$. Then the duality
isomorphism

$H^{l}(X;R)\xrightarrow[\cong]{[\bar{X}]\cap-}H_{n-l}(X;h^{*})$

from Theorem 4.25 is an isomorphism of $G$-modules.

##  Appendix A Comparison with Classical Sheaves

In this appendix we establish an equivalence of categories between the
category of combinatorial sheaves on a simplicial complex $X$ and the category
of constructible sheaves on the simplicial stratification of $X$. In this
appendix we reserve the word sheaf for the classical notion, and say
combinatorial sheaf whenever we mean a combinatorial sheaf.

###  A.1. Constructible sheaves on simplicial complexes

Recall that a _locally constant sheaf_ is a sheaf $\pi\colon E\rightarrow X$
such that each $x\in X$ has a neighbourhood $U$ such that $\pi^{-1}(U)\cong
U\times M$ for some $R$-module $M$. Such a sheaf is sometimes called a _local
system_. Associated to $X$ is its _path category_ , whose objects are the
points of $X$ and whose morphisms are homotopy classes of paths between these
points. When $X$ is path connected its path category is equivalent to its
fundamental group. A locally constant sheaf induces a representation of the
path category of $X$ in $R-\mathbf{Mod}$ and is completely determined by this
representation. On a connected space this is equivalent to the monodromy
representation $\pi_{1}(X,*)\rightarrow\textnormal{Aut}(A)$ associated to the
locally constant sheaf.

A simplicial complex $X$ carries an obvious stratification by its $k$-skeleta
$X_{k}$, where each $k$-stratum $\mathring{X}_{k}$ is the union of the
interiors of the $k$-simplices of $X$. We will refer to this as the
_simplicial stratification_. A _constructible sheaf_ on a stratified space is
a sheaf that is locally constant over the strata. Analogously to locally
constant sheaves, constructible sheaves are equivalently described by
representations of the so-called _exit path category_ [Lur17, Theorem A.9.3].
For arbitrary stratifications the exit path category can be complicated.

For the simplicial stratification of a simplicial complex the exit path
category agrees with the poset of simplices, so representations of the exit
path category are exactly combinatorial sheaves. So by Lurie’s result the
category $\mathbf{CSh}_{\Delta}(X)$ of constructible sheaves for the
simplicial stratification on a simplicial complex $X$ is equivalent to the
category $\mathbf{sSh}(X)$ of combinatorial sheaves on $X$. As the proof of
Lurie’s theorem is somewhat complicated, we will give a proof in the
simplicial setting below.

For the rest of this section, let $X$ be a simplicial complex, viewed as a
stratified space with the simplicial stratification. Given a constructible
sheaf $\mathcal{F}$ on $X$, we get a combinatorial sheaf
$\mathcal{F}^{\Delta}$, by setting

$\mathcal{F}^{\Delta}(\sigma)=\mathcal{F}(\mathring{\mathrm{st}}\sigma).$

The restriction maps $\mathcal{F}^{\Delta}(\sigma<\tau)$ come from evaluating
$\mathcal{F}$ on the inclusion
$\mathring{\mathrm{st}}\tau\subset\mathring{\mathrm{st}}\sigma$.

The key observation that links constructible sheaves and combinatorial sheaves
is this:

######  Lemma A.1.

Let $\mathcal{F}\in\mathbf{CSh}_{\Delta}(X)$. Then for any $x$ in the interior
of a simplex $\sigma$ we have

$\mathcal{F}_{x}\cong\mathcal{F}(\mathring{\mathrm{st}}\sigma).$

###### Proof.

The stalk at $x$ is the colimit over the diagram of the values of
$\mathcal{F}$ on open neighbourhoods of $x$. Note that
$\mathring{\mathrm{st}}\sigma$ is homotopy equivalent to $x$. We can (by using
for example the straight-line homotopy) fix a homotopy $H_{t}$ with
$t\in[0,1]$ between the identity on $\mathring{\mathrm{st}}\sigma$ and the
characteristic function of $x$ for with $H_{t}(\mathring{\mathrm{st}}\sigma)$
open for $t<1$. Then every neighbourhood of $U$ contains
$H_{t}(\mathring{\mathrm{st}}\sigma)$ for some $t<1$, and therefore
$\\{H_{t}(\mathring{\mathrm{st}}\sigma)\\}_{t\in[0,1)}$ forms a cofinal
diagram for the colimit. As $\mathcal{F}$ is constant on interiors of
simplices, the group of sections over $H_{t}(\mathring{\mathrm{st}}\sigma)$ is
the same as the group of sections over $\mathring{\mathrm{st}}\sigma$. This
means that $\\{H_{t}(\mathring{\mathrm{st}}\sigma)\\}_{t\in[0,1)}$ is the
constant diagram $\mathcal{F}(\mathring{\mathrm{st}}\sigma)$. ∎

The assignment $(-)^{\Delta}$ extends to morphisms of sheaves in the obvious
way. We have:

######  Proposition A.2.

Let $X$ be a simplicial complex. Then

$\mathbf{CSh}_{\Delta}(X)\xrightarrow{(-)^{\Delta}}\mathbf{sSh}(X)$

is an equivalence of categories.

###### Proof.

We will show that $(-)^{\Delta}$ has a weak inverse that we will define by
going through an étale space. Given a combinatorial sheaf $\mathcal{G}$,
define the étale space $\textnormal{Et}^{\Delta}(\Gamma)$ of $\mathcal{G}$ to
be $\coprod_{\sigma\in X}G(\sigma)\times\sigma/\sim$ where the equivalence
relation identifies, for $\tau<\sigma$ elements in $G(\tau)\times\tau\sqcup
G(\sigma)\times\sigma$ by $(a,t)\sim(\mathcal{G}(\tau<\sigma)(a),t)$. The
result is clearly a constructible sheaf: the restriction of
$\textnormal{Et}^{\Delta}(\Gamma)$ to the interior of a simplex is simply
$\Gamma(\sigma)\times\mathring{\sigma}$.

We now want to show that $\textnormal{Et}^{\Delta}$ is an inverse to
$(-)^{\Delta}$. To start, let us compute for a simplex $\sigma$ the sections
of $\textnormal{Et}^{\Delta}(\mathcal{G})$ over the open star
$\mathring{\mathrm{st}}\sigma$ of $\sigma$, this is the value of
$(\textnormal{Et}(\mathcal{G}))^{\Delta}$ on $\sigma$. For each
$\tau\geqslant\sigma$, the restriction of a section $s$ to the interior of
$\tau$ is an element $s_{\tau}$ of $\mathcal{G}(\tau)$. In order for this to
be compatible with the equivalence relation $\sim$, we need that
$s_{\tau}=\mathcal{G}(\sigma<\tau)s_{\sigma}$. That is, $s$ is completely
determined by $s_{\sigma}\in\mathcal{G}(\sigma)$, and we have
$\Gamma(\textnormal{Et}^{\Delta}(\mathcal{G}),\mathring{\mathrm{st}}\sigma)\cong\mathcal{G}(\sigma)$,
as desired.

In the other direction, let $\mathcal{F}$ be a constructible sheaf. Consider
$\textnormal{Et}((\mathcal{F})^{\Delta})$, we want to show that this agrees
with $\mathcal{F}$. To do this, it suffices to show that the stalks agree. So
let $x\in X$, then $x$ lies in the interior of a unique simplex $\sigma$. The
stalk over $x$ of $\textnormal{Et}((\mathcal{F})^{\Delta})$ is then
$\mathcal{F}^{\Delta}(\sigma)=\mathcal{F}(\mathring{\mathrm{st}}\sigma)$. By
Lemma A.1, this agrees with $\mathcal{F}_{x}$. ∎

This in particular implies that these categories are equivalent as abelian
categories. One checks (by using the fact that a section of a combinatorial
sheaf is determined by its values on the vertices) that this equivalence sends
the global sections functors on either side to each other. From this it
follows that the combinatorial sheaf cohomology defined in this paper agrees
with the classical sheaf cohomology.

##  Appendix B CM Duality as a Consequence of Verdier Duality

We now explain how our work is related to a modern perspective on duality for
sheaves and cosheaves (cf. [Lur17, Section 5.5.5]).

###  B.1. Poincaré-Verdier duality

One of the central results of manifold topology is that any compact
$n$-manifold $M$ satisfies _Poincaré duality_ ,

$H^{*}(M;h_{n})\cong H_{n-*}(M;\mathbb{Z}),$

relating the cohomology of $M$ with coefficients in the _orientation sheaf_
$h_{n}$ with the homology of $M$. The orientation sheaf is the sheaf of _local
homology groups_. Its stalk at $m\in M$ is
$h_{n}(m)=H_{n}(M,M-m;\mathbb{Z})\cong H^{*}(D^{n},D^{n}-0)\cong\mathbb{Z}$,
by excision and the fact that $M$ is locally euclidean. When $M$ is closed and
orientable this sheaf has a global section
$H_{n}(M;\mathbb{Z})\cong\mathbb{Z}\rightarrow h_{n}$ whose image in
$h_{n}(m)$ is a generator for all $m\in M$. The Poincaré duality isomorphism
is then given by the _cap product_ $[M]\cap-$ with a generator $[M]$ for
$H_{n}(M;\mathbb{Z})$. Many proofs of Poincaré duality exist in the
literature. A particularly powerful point of view is that of _Verdier duality_
[Ive86]: if one passes to derived categories there is a duality that for any
locally compact Hausdorff space $S$ gives

$H^{*}(S;\mathcal{D}_{\bullet})\cong H^{*}_{c}(S;\mathbb{Z})^{\vee},$

where $\mathcal{D}_{\bullet}$ is the _dualizing sheaf_ and
$H^{*}_{c}(S;\mathbb{Z})^{\vee}$ coincides for nice $S$ (by the Universal
Coefficient Theorem) with locally finite (or Borel-Moore) homology. The
dualizing sheaf is a _derived_ sheaf, a chain complex of sheaves on $S$. One
obtains Poincaré duality by proving that for manifolds $\mathcal{D}_{*}\cong
h_{n}$: the dualizing sheaf agrees with the local homology sheaf (shifted to
degree $n$) for manifolds. Close examination of this proof teaches that it
only uses that the stalks of the local homology sheaf $h_{*}$ are concentrated
in degree $n$ (and hence a free abelian group in this degree): the proof also
works for locally CM spaces. As a consequence of Verdier duality we then have
for a locally CM space $X$

(55) $H^{*}(X;h_{n})\cong H^{\textnormal{lf}}_{n-*}(X;\mathbb{Z}).$

This is one the dualities we prove using combinatorial sheaf techniques
without passing through derived sheaves or invoking Verdier duality.

###  B.2. Duality between sheaves and cosheaves

Another perspective on Verdier duality for a locally compact Hausdorff space
$S$ with topology $\mathcal{T}_{S}$ (viewed as a poset under inclusion) is
provided by [Lur17, Section 5.5.5]. Sheaves with values in the category of
abelian groups $\mathbf{Ab}$ are functors
$\mathcal{T}_{S}^{\textnormal{op}}\rightarrow\mathbf{Ab}$ and one dually has
the notion of _cosheaves_ : functors $\mathcal{T}_{S}\rightarrow\mathbf{Ab}$.
Trivially, a cosheaf is a sheaf with values in
$\mathbf{Ab}^{\textnormal{op}}$, and one might wonder whether the categories
of sheaves $\mathbf{Sh}(S)$ and cosheaves $\mathbf{CoSh}(S)$ on $S$ are
equivalent. There is a map

$\displaystyle\mathbf{Sh}(S)^{\textnormal{op}}$
$\displaystyle\rightarrow\mathbf{CoSh}(S)$ $\displaystyle\mathcal{F}$
$\displaystyle\mapsto(U\mapsto\Gamma_{c}(U,\mathcal{F})),$

where $\Gamma_{c}$ denotes taking compactly supported sections, the
corestriction
$\Gamma_{c}(U,\mathcal{F}))\rightarrow\Gamma_{c}(V,\mathcal{F}))$ for an
inclusion $U\subset V$ is extension by zero. This functor is an equivalence
after passing to derived categories. This was proven by Curry [Cur18] for
sheaves and cosheaves with values in vector spaces, while Lurie [Lur17,
Proposition 5.5.5.10] proves this result for sheaves with values in any stable
$\infty$-category. When $S$ is finite dimensional, Lurie’s result applies in
particular to the derived categories $\mathbf{DSh}(S)$ of sheaves and
$\mathbf{DCoSh}(S)$ of cosheaves [Sch22, Lecture VII]. The equivalence is then

$R\Gamma_{c}\colon\mathbf{DSh}(S)\xrightarrow{\cong}\mathbf{DCoSh}(S)$

where $R\Gamma_{c}$ is the derived functor. The image of the constant sheaf
$\mathbb{Z}$ under $R\Gamma_{c}$ is obtained by taking an injective resolution
$\mathbb{Z}\rightarrow I_{\bullet}$ and evaluating:

$R\Gamma_{c}(U;\mathbb{Z})=\Gamma_{c}(U;I_{\bullet})\cong
C_{c}^{\bullet}(U;\mathbb{Z}).$

Here $C_{c}^{\bullet}(U;\mathbb{Z})$ is a chain complex that computes the
compactly supported cohomology $H^{*}_{c}(U)$ of $U$. When $S$ is additionally
a CW complex and $U\subset S$ is a small enough open we have by excision

$H_{c}^{*}(U;\mathbb{Z})\cong h^{*}(U),$

where $h^{*}$ denotes the _local cohomology cosheaf_. When the local
cohomology groups are free this implies that $R\Gamma_{c}(-;\mathbb{Z})\cong
h^{*}$. Because $R\Gamma_{c}$ is an equivalence and natural in $S$ the
cohomology of $\mathbb{Z}$ and the cosheaf homology of the derived cosheaf
$h^{*}$ agree. The latter is to be interpreted as hyperhomology (see for
example [Wei94, Section 5.7]) and can be computed as the homology of a double
complex obtained by resolving each $h^{k}$ individually. This gives rise to a
spectral sequence

(56) $E^{2}_{p,-q}=H^{\textnormal{lf}}_{p}(S;h^{q})\Rightarrow
H^{-p+q}(S;\mathbb{Z}),$

where we used the convention that cohomological grading corresponds to
negative homological grading. On a locally CM space $X$ this spectral sequence
collapses to give

(57) $H^{\textnormal{lf}}_{*}(X;h^{n})\cong H^{n-*}(X;\mathbb{Z}).$

This another one of the dualities we discussed. The inverse $\mathbb{D}$ to
$R\Gamma_{c}$ maps the constant cosheaf $\mathbb{Z}$ to $h_{*}$, this gives
rise to the duality from Equation (55):

(58) $E^{p,-q}_{2}=H^{p}(X;H_{q}\mathbb{D}(\mathbb{Z}))\cong
H^{p}(X;h_{q})\Rightarrow H_{q-p}(X;\mathbb{Z}),$

this spectral sequence collapses at the $E_{2}$ page when $X$ is locally CM.

###  B.3. The cap product

Where proofs of Poincaré duality often start by defining the cap product and
the fundamental class, and then show that the cap product with the fundamental
class induces the duality isomorphism (see for example [Hat02, Section 3.3]),
in treatments of Verdier duality the cap product is often introduced
separately and capping with a fundamental class is only a posteriori shown to
agree with the duality isomorphism. An abstract perspective on the cap product
is the following. For cosheaf homology of a (derived) cosheaf $\mathcal{G}$
and sheaf cohomology of a (derived) sheaf $\mathcal{F}$ the cap product is a
map

$H_{n}(S;\mathcal{G})\otimes
H^{p}(S;\mathcal{F})\xrightarrow{\cap}H_{n-p}(S;R\Gamma_{c}(\mathbb{D}\mathcal{G}\otimes\mathcal{F})),$

that can be obtained by pushing the cup product [Bre97, Section II.7]

$H^{-n}(S;\mathbb{D}\mathcal{G})\otimes H^{p}(\mathcal{F})\rightarrow
H^{p-n}(S;\mathbb{D}\mathcal{G}\otimes\mathcal{F}).$

across $R\Gamma_{c}$. When $X$ is locally CM of dimension $n$ and we take
$\mathcal{G}=h^{n}$, there is a class $[X]\in H_{n}(X;h^{n})\cong
H^{0}(X;\mathbb{Z})$ corresponding to the unit of the cap product.
Tautologically, we then have that the duality isomorphism is given by

(59) $[X]\cap-\colon
H^{p}(S;\mathcal{F})\xrightarrow{\cong}H_{n-p}(S;R\Gamma_{c}(\mathcal{F})).$

Note that when $\mathcal{F}=h_{n}$ this recovers the duality from Equation
(55), while taking $\mathcal{F}=\mathbb{Z}$ gives that from Equation (57).

##  Appendix C Orientation Independence of the Cap Product

We relegated a part of the proof that the cap product does not depend on the
orientation of the simplicial complex to here. That the cap product is
independent of the orientation is already non-trivial for the cap products
with $R$-coefficients

(60) $\displaystyle\begin{split}\cap\colon C^{\textnormal{lf}}_{k}(X;R)\otimes
C^{l}(X;R)&\rightarrow C^{\textnormal{lf}}_{k-l}(X)\\\
\sigma\otimes\tau^{*}&\mapsto\tau^{*}(\sigma_{\geqslant k-l})\sigma_{\leqslant
k-l},\end{split}$

and

(61) $\displaystyle\begin{split}\cap\colon C_{k}(X;R)\otimes
C_{c}^{l}(X;R)&\rightarrow C_{k-l}(X)\\\
\sigma\otimes\tau^{*}&\mapsto\tau^{*}(\sigma_{\geqslant k-l})\sigma_{\leqslant
k-l}.\end{split}$

We will prove Proposition 2.13 alongside this, the difference between the
proofs is cosmetic. In fact, for ease of notation we will only explicitly
prove that the $R$-coefficient cap product is orientation independent and
indicate what needs changing to establish Proposition 2.13.

###  C.1. Proof of Proposition 2.13

In the proof below, we will use that one way to think about orientation of
finite complexes is through a _total ordering_ of the vertices: this induces
consistent orientations for all simplices of the complex by restriction. We
first prove the following version of Proposition 2.13 for the $R$-coefficient
cap product from Equations (60) and (61):

######  Proposition C.1.

Let $X$ be an oriented simplicial complex and $[u,w]$ be an oriented
1-simplex. Write $\tilde{C}_{\bullet}(X)$ for the chain complex associated to
the orientation where $u$ and $w$ are swapped and $\tilde{\cap}$ for the
associated cap product. Then the diagram

${C^{\textnormal{lf}}_{k}(X)\otimes
C^{l}(X)}$${C^{\textnormal{lf}}_{k-l}(X)}$${\tilde{C}^{\textnormal{lf}}_{k}(X)\otimes\tilde{C}^{l}(X)}$${\tilde{C}^{\textnormal{lf}}_{k-l}(X)}$$\scriptstyle{\cap}$$\scriptstyle{\cong}$$\scriptstyle{\cong}$$\scriptstyle{\tilde{\cap}}$

(where the vertical maps are the isomorphisms from Lemma 2.5) commutes up to
chain homotopy. The analogous statement for the cap product involving
compactly supported cohomology also holds.

###### Proof.

As we will prove this generator by generator, the proof will not depend on
whether or not we work with the compactly supported cohomology version.

We first show that we can reduce to the case where $u$ and $w$ are consecutive
in a total ordering of the vertices of a finite subcomplex. To see this,
observe that the subcomplex spanned by those simplices containing $u$ or $v$.
We can pick a total ordering of the vertices of this subcomplex that restricts
to the given orientation on each simplex. The permutations swapping $u$ and
$w$ in each simplex are then the composite of finitely many transpositions of
consecutive vertices. So, without loss of generality, assume that $u$ and $w$
are consecutive in a total ordering of the vertices of all simplices that
contain $u$ or $w$.

Now we claim that if $u$ and $w$ are consecutive, then

(62) $\displaystyle\begin{split}B\colon&C_{k}(X)\otimes
C^{l}(X)\rightarrow\tilde{C}_{k-l+1}(X)\\\
&\sigma\otimes\tau^{*}\mapsto\begin{cases}(-1)^{k-l}\tau^{*}(\sigma_{\geqslant
k-l})\sigma_{\leqslant k-l+1}&\mbox{if }\sigma_{k-l}=u\mbox{ and
}\sigma_{k-l+1}=w\\\ 0&\mbox{otherwise.}\end{cases}\end{split}$

gives the chain homotopy we need. So, we need to show that for every
$\sigma\in X_{k}$ and $\tau\in X_{l}$ we have

(63) $\pm_{\sigma_{\leqslant k-l}}\tau^{*}(\sigma_{\geqslant
k-l})\sigma_{\leqslant
k-l}-\pm_{\sigma}\pm_{\tau}\tau^{*}(\sigma_{\succcurlyeq
k-l})\sigma_{\preccurlyeq
k-l}=\tilde{d}B(\sigma\otimes\tau^{*})+B(d(\sigma\otimes\tau^{*})),$

where $\preccurlyeq$, $\succcurlyeq$ and $\tilde{d}$ respectively denote the
front and back face, and differential with respect to the ordering with $u$
and $w$ swapped. For the right hand side, notice that

(64)
$\tilde{d}B(\sigma\otimes\tau^{*})+B(d(\sigma\otimes\tau^{*}))=\tilde{d}B(\sigma\otimes\tau^{*})+B(d\sigma\otimes\tau^{*})+(-1)^{k-l}B(\sigma\otimes\partial\tau^{*}),$

using the definition of the differential on the tensor product complex
$C_{k}(X)\otimes C^{l}(X)$.

We start by considering the case where $u\neq\sigma_{k-l},\sigma_{k-l-1}$ or
$w\neq\sigma_{k-l},\sigma_{k-l+1}$. In this case consecutivity of $u$ and $w$
implies that $\sigma_{\geqslant k-l}=\sigma_{\succcurlyeq k-l}$ and
$\sigma_{\leqslant k-l}=\sigma_{\preccurlyeq k-l}$, so both $\cap$ and
$\tilde{\cap}$ are only non-zero when $\tau=\sigma_{\geqslant k-l}$. Also by
consecutivity of $u$ and $w$ the permutation induced on the vertices of
$\sigma$ either acts non-trivially on $\sigma_{\geqslant k-l}$ or on
$\sigma_{\leqslant k-l}$, and using this it is easy to see that the left hand
side of Equation (63) vanishes. For the right hand side (Equation (64)), we
have assumed $u\neq\sigma_{k-l}$ or $w\neq\sigma_{k-l+1}$ so $B$ vanishes on
$\sigma\otimes\tau^{*}$. For the second term our assumptions on $u$ and $w$
imply that none of the faces $\sigma_{\langle i\rangle}$ appearing in the
differential of $\sigma$ can have $(\sigma_{\langle i\rangle})_{k-l}=u$ and
$(\sigma_{\langle i\rangle})_{k-l+1}=w$ so this term also vanishes. The third
term evaluates as

(65)
$(-1)^{k-l}B(\sigma\otimes\partial\tau^{*})=\begin{cases}\begin{matrix}(\tau^{*}(\sigma_{\succcurlyeq
k-l})-\tau^{*}(\sigma_{\geqslant k-l}))\sigma_{\leqslant k-l}\\\
+\sum_{i=2}^{l+1}(-1)^{i+1}\tau^{*}((\sigma_{\geqslant k-l-1})_{\langle
i\rangle})\sigma_{\leqslant k-l}\end{matrix}&\mbox{if
}\begin{matrix}\sigma_{k-l-1}=u\\\ \mbox{ and }\sigma_{k-l}=w\end{matrix}\\\
0&\mbox{otherwise.}\end{cases}$

which is zero because $u\neq\sigma_{k-l-1}$ or $w\neq\sigma_{k-l}$.

The remaining two cases are where $u=\sigma_{k-l-1}$ and $w=\sigma_{k-l}$, or
where $u=\sigma_{k-l}$ and $w=\sigma_{k-l+1}$. Let us start by working out the
right hand side of Equation (64). The first term is

(66)
$\tilde{d}B(\sigma\otimes\tau^{*})=\begin{cases}\begin{matrix}\sum_{i=0}^{k-l-1}(-1)^{i+k-l}\tau^{*}(\sigma_{\geqslant
k-l})(\sigma_{\geqslant k-l+1})_{\langle i\rangle}\\\
+\tau^{*}(\sigma_{\geqslant k-l})(\sigma_{\leqslant k-l}-\sigma_{\preccurlyeq
k-l})\end{matrix}&\mbox{if }\sigma_{k-l}=u\mbox{ and }\sigma_{k-l+1}=w\\\
0&\mbox{otherwise.}\end{cases}$

We recognise the last two terms in this as
$\sigma\cap\tau^{*}-\sigma\tilde{\cap}\tau^{*}$. For the second term on the
right hand side of Equation (64) we find that

$(-1)^{k-l}B(d\sigma\otimes\tau^{*})=\begin{cases}\sum_{i=0}^{k-l-1}(-1)^{i+k-l-1}\tau^{*}(\sigma_{\geqslant
k-l})(\sigma_{\leqslant k-l+1})_{\langle i\rangle}&\mbox{if
}\begin{matrix}\sigma_{k-l}=u\\\ \mbox{ and }\sigma_{k-l+1}=w\end{matrix}\\\
\sum_{i=k-l+1}^{k}(-1)^{i+k-l-1}\tau^{*}((\sigma_{\langle
i\rangle})_{\geqslant k-l-1})\sigma_{\leqslant k-l}&\mbox{if
}\begin{matrix}\sigma_{k-l-1}=u\\\ \mbox{ and }\sigma_{k-l}=w\end{matrix}\\\
\tau^{*}((\sigma_{\langle k-l\rangle})_{\geqslant k-l-1})(\sigma_{\langle
k-l\rangle})_{\leqslant k-l}&\mbox{if }\begin{matrix}\sigma_{k-l-1}=u\\\
\mbox{ and }\sigma_{k-l+1}=w.\end{matrix}\end{cases}$

The last of these cases cannot occur as $u$ and $w$ are assumed to be
consecutive. In the first case we have $(\sigma_{\langle i\rangle})_{\geqslant
k}=\sigma_{\geqslant k+1}$, and we see that this matches the terms in Equation
(66) for $i\geqslant 2$ with opposite sign. Adding these together now gives
the desired result. ∎

The above is readily adapted to for the cap products from Equations (11) and
(14):

###### Proof of Proposition 2.13.

We only specify what chain homotopies to use in place of Equation (62), the
rest of the arguments are then a straightforward adaptation of the proof of
Proposition C.1. For the cap products from Equation (14) mapping

$\displaystyle\cap\colon$ $\displaystyle
C^{\textnormal{lf}}_{k}(X;h^{*})\otimes C_{c}^{l}(X)\rightarrow
C_{k-l}(X;h^{*})\mbox{ and}$ $\displaystyle\cap\colon$ $\displaystyle
C^{\textnormal{lf}}_{k}(X;h^{*})\otimes C^{l}(X)\rightarrow
C^{\textnormal{lf}}_{k-l}(X;h^{*}),$

we use the chain homotopy

$\displaystyle B\colon$ $\displaystyle C^{\textnormal{lf}}_{k}(X;h^{*})\otimes
C^{l}(X)\rightarrow\tilde{C}^{\textnormal{lf}}_{k-l+1}(X;h^{*})$
$\displaystyle(\sigma\triangleleft\alpha^{*})\otimes\tau^{*}\mapsto\begin{cases}(-1)^{k-l}\tau^{*}(\sigma_{\geqslant
k-l})\sigma_{\leqslant k-l+1}\triangleleft\alpha^{*}&\mbox{if
}\sigma_{k-l}=u\mbox{ and }\sigma_{k-l+1}=w\\\ 0&\mbox{otherwise,}\end{cases}$

and the corresponding version for compactly supported cohomology. For the
other cap products

$\displaystyle\cap\colon$ $\displaystyle
C^{\textnormal{lf}}_{k}(X;h^{*})\otimes C_{c}^{l}(X;h_{*})\rightarrow
C_{k-l}(X)\mbox{ and}$ $\displaystyle\cap\colon$ $\displaystyle
C^{\textnormal{lf}}_{k}(X;h^{*})\otimes C^{l}(X;h_{*})\rightarrow
C^{\textnormal{lf}}_{k-l}(X),$

from Equation (11) we use

$\displaystyle B\colon$ $\displaystyle C^{\textnormal{lf}}_{k}(X;h^{*})\otimes
C^{l}(X)\rightarrow\tilde{C}^{\textnormal{lf}}_{k-l+1}(X;h^{*})$
$\displaystyle(\sigma\triangleleft\alpha*)\otimes(\tau\triangleleft\beta^{*})\mapsto\begin{cases}(-1)^{k-l}\langle\alpha^{*},\beta\rangle\sigma_{\leqslant
k-l+1}&\mbox{if }\sigma_{k-l}=u\mbox{, }\sigma_{k-l+1}=w\\\ &\mbox{and
}\tau=\sigma_{\geqslant k-l}\\\ 0&\mbox{otherwise,}\end{cases}$

and the analogous version for compactly supported cochains. ∎

## References

  * [BE73] R. Bieri and B. Eckmann.  Groups with Homological Duality Generalising Poincaré Duality.  Invent. Math., 20:103–124, 1973.
  * [Bjö84] A. Björner.  Some combinatorial and algebraic properties of Coxeter complexes and Tits buildings.  Adv. Math., 52(3):173–212, June 1984.  doi:10.1016/0001-8708(84)90021-5.
  * [Bjö16] A. Björner.  “Let $\Delta$ be a Cohen-Macaulay complex $\dots$”.  In The mathematical legacy of Richard P. Stanley, pages 105–118. Amer. Math. Soc., Providence, RI, 2016.  doi:10.1090//mbk/100/06.
  * [BM01] N. Brady and J. Meier.  Connectivity at infinity for right angled Artin groups.  Trans. Amer. Math. Soc., 353(1):117–132, 2001.  doi:10.1090/S0002-9947-00-02506-X.
  * [Bre97] G. E. Bredon.  Sheaf Theory.  Springer-Verlag, second edition, 1997.
  * [Bro82] K. S. Brown.  Cohomology of Groups.  Springer, 1982.
  * [Brü20] B. Brück.  Higher generating subgroups and Cohen–Macaulay complexes.  Proc. Edinburgh Math. Soc., 63(1):275–285, 2020.  doi:10.1017/s0013091519000415.
  * [BT82] R. Bott and L. W. Tu.  Differential Forms in Algebraic Topology.  Springer New York, 1982.  doi:10.1007/978-1-4757-3951-0.
  * [Cur14] J. Curry.  Sheaves, Cosheaves, and Applications.  PhD thesis, University of Pennsylvania, 2014.
  * [Cur18] J. Curry.  Dualities between cellular sheaves and cosheaves.  J. Pure Appl. Algebra, 222:966–993, 2018.  doi:10.1016/J.JPAA.2017.06.001.
  * [Geo08] R. Geoghegan.  Topological Methods in Group Theory.  Springer New York, 2008.  doi:10.1007/978-0-387-74614-2.
  * [GK94] V. Ginzburg and M. Kapranov.  Koszul duality for operads.  Duke Math. J., 76(1), 1994.  doi:10.1215/s0012-7094-94-07608-4.
  * [GM80] M. Goresky and R. MacPherson.  Intersection homology theory.  Topology, 19(2):135–162, 1980.  doi:10.1016/0040-9383(80)90003-8.
  * [Hat02] A. Hatcher.  Algebraic Topology.  Cambridge University Press, 2002.
  * [Hoc16] M. Hochster.  Cohen-Macaulay varieties, geometric complexes, and combinatorics.  In The mathematical legacy of Richard P. Stanley, pages 219–229. Amer. Math. Soc., Providence, RI, 2016.  doi:10.1090//mbk/100/13.
  * [Ive86] B. Iversen.  Cohomology of Sheaves.  Springer Berlin Heidelberg, 1986.  doi:10.1007/978-3-642-82783-9.
  * [Lur17] J. Lurie.  Higher Algebra.  2017\.  URL https://www.math.ias.edu/~lurie/papers/HA.pdf.
  * [McC79] C. McCrory.  Zeeman’s Filtration of Homology.  Trans. Amer. Math. Soc., 250:147–166, 1979.  URL https://www.jstor.org/stable/1998982.
  * [Mun84] J. R. Munkres.  Topological results in combinatorics.  Michigan Math. J., 31(1):113–128, 1984.  doi:10.1307/mmj/1029002969.
  * [Qui78] D. Quillen.  Homotopy properties of the poset of nontrivial p-subgroups of a group.  Adv. Math., 28(2):101–128, 1978.  doi:10.1016/0001-8708(78)90058-0.
  * [Rei76] G. A. Reisner.  Cohen-Macaulay quotients of polynomial rings.  Adv. Math., 21(1):30–49, 1976.  doi:10.1016/0001-8708(76)90114-6.
  * [RWY01] V. Reiner, V. Welker, and K. Yanagawa.  Local Cohomology of Stanley–Reisner Rings with Supports in General Monomial Ideals.  J. Algebra, 244(2):706–736, Oct. 2001.  doi:10.1006/jabr.2001.8932.
  * [Sch22] P. Scholze.  Six-Functor Formalisms.  2022\.  URL https://people.mpim-bonn.mpg.de/scholze/SixFunctors.pdf.
  * [Sta75] R. P. Stanley.  The upper bound conjecture and Cohen-Macaulay rings.  Studies in Appl. Math., 54(2):135–142, 1975.  doi:10.1002/sapm1975542135.
  * [Ver63] J.-L. Verdier.  Le théorème de dualité de Poincaré.  C. R. Acad. Sci. Paris, 256:2084–2086, 1963.
  * [Vog90] K. Vogtmann.  Local structure of some Out($F_{n}$)-complexes.  Proc. Edinburgh Math. Soc. (2), 33(3):367–379, 1990.  doi:10.1017/s0013091500004818.
  * [VY24] M. Varbaro and H. Yu.  Lefschetz duality for local cohomology.  J. Algebra, 639:498–515, 2024.  doi:10.1016/j.jalgebra.2023.09.040.
  * [Wei94] C. A. Weibel.  An introduction to homological algebra.  Cambridge University Press, first edition, 1994.
  * [WW24] R. D. Wade and T. A. Wasserman.  Duality groups and Cohen-Macaulay complexes.  Preprint, 2024.
  * [Yan03] K. Yanagawa.  Stanley-Reisner rings, sheaves, and Poincaré–Verdier duality.  Math. Res. Lett., 10(5):635–650, Sept. 2003.  doi:10.4310/MRL.2003.v10.n5.a7.
  * [Zee62] E. C. Zeeman.  Dihomology: I. Relations Between Homology Theories.  Proceedings of the London Mathematical Society, s3-12(1):609–638, 1962.  doi:10.1112/plms/s3-12.1.609.
  * [Zee63] E. C. Zeeman.  Dihomology III. A Generalization of the Poincaré Duality for Manifolds.  Proc. London Math. Soc., s3-13:155–183, 1963.  doi:10.1112/PLMS/S3-13.1.155.