Given that $A$ is a regular language and $B$ a regular or non-regular language, prove that $L$ is regular:
$$L = \{w | wx \in \text{A such that }x \in B\}$$
We can say that L is a subset of A. Regular languages are not closed under subsetting and I can't find a way to prove that this subset is regular regardless of B.
Let $A$ be a regular language and let $B$ be any language.
Because $A$ is regular, there's a deterministic finite automaton that accepts $A$. Let $M$ be one such machine, with a set of states $Q$ and set of accepting states $F\subseteq Q$.
It is possible to modify the machine $M$ to make a machine that accepts the quotient language $L=\{w \;|\; \exists x : wx\in A\wedge\, x\in B \}$.
Indeed, for any state $q\in Q$ and any arbitrary string $x\in \Sigma^*$, let $\delta(q, x)$ denote the state that $M$ is in after it starts from the state $q$ and reads the string $x$.
Define a new machine $M^\prime$ which is exactly like $M$ except it has a new set $F^\prime$ of accepting states. The new accepting states are $$F^\prime \equiv \bigcup_{x \in B } \{q \in Q : \delta(q,x) \in F\}.$$
In other words, we consider each state $q$ in turn. We imagine feeding each string $x\in B$ into the machine starting from state $q$. If the machine ends up in an accepting state after reading some string $x$, then $q$ should be marked as an accepting state in the new machine. Otherwise, $q$ should be marked as a non-accepting state in the new machine.
This new machine $M^\prime$ accepts the language $L$. It is a deterministic finite automaton, so $L$ is a regular language.
Note that this proof is nonconstructive—if $B$ is a very complicated language, it may be difficult or impossible to compute the set of states $F^\prime \subseteq Q$. Nonetheless, $F^\prime$ exists as a well-defined subset of $Q$. It exists even if we cannot confirm what it is, and so the machine $M^\prime$ exists, even if we cannot confirm what it is.
See: Quotient of a regular language